Я новичок в Sockets, пожалуйста, извините мое полное отсутствие понимания.
У меня есть сервер script (server.py):
#!/usr/bin/python
import socket #import the socket module
s = socket.socket() #Create a socket object
host = socket.gethostname() #Get the local machine name
port = 12397 # Reserve a port for your service
s.bind((host,port)) #Bind to the port
s.listen(5) #Wait for the client connection
while True:
c,addr = s.accept() #Establish a connection with the client
print "Got connection from", addr
c.send("Thank you for connecting!")
c.close()
и клиент script (client.py):
#!/usr/bin/python
import socket #import socket module
s = socket.socket() #create a socket object
host = '192.168.1.94' #Host i.p
port = 12397 #Reserve a port for your service
s.connect((host,port))
print s.recv(1024)
s.close
Я иду на свой рабочий стол и запускаю script, введя:
python server.py
после чего я иду на свой терминал для ноутбука и запускаю клиентский script:
python client.py
но я получаю следующую ошибку:
Файл "client.py", строка 9, в
s.connect((хост, порт))
Файл "/usr/lib/python2.7/socket.py", строка 224, в методе
return getattr (self._sock, name) (* args)
socket.error: [Errno 111] Соединение отклонено
Я пробовал использовать разные номера портов безрезультатно. Тем не менее, мне удалось получить имя хоста, используя тот же ip и метод gethostname() в клиенте script, и я могу выполнить ping на рабочем столе (сервере).