因此,我最近开始测试套接字,并成功地创建了一个服务器和客户端,当我在同一台电脑上运行它们时,它们都在一起工作。但是,当我把服务器放在不同的计算机上时,会出现以下错误:“TimeoutError:[WinError 10060]连接尝试失败,因为连接方没有在一段时间后正确响应,或由于连接的主机响应失败而建立的连接失败“”
这是我的服务器:
import socket
import pyautogui
import os
computerIP = socket.gethostbyname(socket.gethostname())
def Main():
host = computerIP
port = 5000
value = 0
mySocket = socket.socket()
mySocket.bind((host,port))
mySocket.listen(1)
conn, addr = mySocket.accept()
print ("Connection from: " + str(addr))
while True:
data = conn.recv(1024).decode()
if not data:
break
elif data == "shift":
pyautogui.keyDown("shift")
elif data == "relshift":
pyautogui.keyUp("shift")
elif data == "logout":
os.popen("shutdown -l")
elif data == "click":
pyautogui.click()
pyautogui.click()
print ("from connected user: " + str(data))
data = str(data).upper()
print ("sending: " + str(data))
conn.send(data.encode())
conn.close()
if __name__ == '__main__':
Main()
我的委托人:
^{pr2}$操作系统:Windows 8.1 Python版本:3.4
我试着在网上查这个,但由于我对python还很陌生,所以我不太了解。在
告诉我有什么需要我澄清的。在
端口似乎由于防火墙而被阻止。在
使用
socket.connect_ex()
代替socket.connect()
。如果连接成功,它将返回0,否则errno变量的值将帮助您调试连接失败的原因。在在连接之前,还应使用
socket.settimeout()
,以便连接在给定的秒数内超时。在相关问题 更多 >
编程相关推荐