socket_connect(): не удается подключить [10061] php к серверу сокетов python

#python #php #sockets

Вопрос:

Я пытаюсь подключить сервер сокетов python к php.

Я попробовал этот код:

     $host = gethostname();
    $port = 12345;
    // No Timeout 
    set_time_limit(0);
    
    $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socketn");
    
    $result = socket_connect($socket, $host, $port) or die("Could not connect toservern");
    
    socket_write($socket, "Hello Server", strlen($message)) or die("Could not send data to servern");
    
    $result = socket_read ($socket, 1024) or die("Could not read server responsen");
    echo "Reply From Server  :".$resu<
 
    socket_close($socket);
 

Это коды сервера сокетов python:

 import socket               # Import socket module

s = socket.socket()         # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345                # Reserve a port for your service.
s.bind((host, port))        # Bind to the port

s.listen(5)                 # Now wait for client connection.
while True:
   c, addr = s.accept()     # Establish connection with client.
   print ("Got connection from {}", addr)
   c.send("Thank you for connecting".encode())
   c.close()                # Close the connection
 

Он получает эту ошибку, когда я пытаюсь:

 Warning: socket_connect(): unable to connect [10061]: No connection could be made because the target machine actively refused it.
 

Я также отключил брандмауэр, так как он, возможно, блокирует соединение. Но мне это не помогло. Так что, похоже, дело не в брандмауэре.

Я запускаю веб-приложение php в Windows 10 с сервером wamp.Сервер сокетов(python) и клиент (php) работают локально (Windows 10-та же машина).

Что я могу сделать, чтобы решить эту проблему?

Спасибо

Комментарии:

1. После запуска сервера сокетов проверьте 12345 , запущен ли порт, используя netstat -a -b командную строку. Если он не запущен, измените хост на localhost или обратный ip 127.0.0.1 -адрес или локальный ip 192.168.x.x -адрес и перезапустите сервер, убедитесь, что порт запущен. Как только он покажет, что порт запущен и находится в режиме прослушивания, вы сможете подключиться к этому серверу сокетов. Не забудьте также сменить хост на стороне клиента