Python套接字,同一个wifi上的两台计算机

时间:2017-09-09 18:42:10

标签: python sockets network-programming

我有两个python(python 3)程序,一个客户端和一个服务器。

Client.py:

import socket
import time

clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect(('192.168.0.18', 8087))

clientsocket.send(b'a')
time.sleep(0.05)
clientsocket.close()

Server.py:

import socket
import time

serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind(('', 8087))
serversocket.listen(5)

connection, address = serversocket.accept()

b = connection.recv(1)
time.sleep(0.1)
serversocket.close()
connection.shutdown(socket.SHUT_WR)
connection.close()
print(b)

所有这一切都是连接客户端和服务器,然后发送char' a'从客户端到服务器。如果我在同一台计算机上同时运行它们,它可以正常工作,并且服务器会打印出一个' a。但是,如果我在一台计算机上运行服务器而在另一台计算机上运行客户端(两者都连接在同一个无线网络上),它们会分别停留在clientsocket.connect和serversocket.accept上(并最终超时)。通过运行ifconfig获取IP地址,并在“添加”之后选择该号码。

如何解决此问题?防火墙阻止我的计算机连接吗?

我知道stackoverflow上还有其他类似的问题,但没有一个能够准确描述这种情况,答案对我没有帮助。

0 个答案:

没有答案