我开始学习Python中的Socket。此外,当连接到服务器(在我的计算机上运行)时,一切正常,但是当我的朋友尝试从另一台电脑连接到我时,客户端根本无法检测到服务器并连接到它。
我写了客户端和服务器:
#client
import socket
host = ""
port = 1234
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.settimeout(10)
client.connect((host, port))
client.settimeout(None)
print("connected")
client.send(("Hellow world!").encode())
#server
import socket
host = ""
port = 1234
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))
server.listen(10)
print("server launched")
while True:
conn, addr = server.accept()
print("Connect from", addr)
data = conn.recv(1024)
data = data.decode()
print(data)
有朋友尝试启动客户端,但由于某种原因,客户端无法连接到服务器。
有2种解决方案:
localhost
而不是
host=""
做 host="localhost"
在防火墙上打开端口 1234 并检查 python 是否有权进行公共连接。
或
坏主意:暂时禁用防火墙