我使用套接字库创建了一个程序,允许我启动服务器从连接的客户端收集消息,我还创建了一个可以连接到服务器并发送消息的客户端。 当在同一设备上测试时,这些程序彼此通信,但是当我尝试在两个不同设备之间进行通信时,我会遇到各种错误。 我主要得到错误,说连接被拒绝,或者它超时,或者IP在这种情况下不适用。 我一直在寻找解决方案,但没有一个正常,请帮助。
服务器代码:
from datetime import datetime
import socket
print("STARTING_SERVER_SETUP_AT: " + str(datetime.now()))
ip = raw_input("SERVER_IP: ")
port = int(raw_input("SERVER_PORT: "))
address = (ip, port)
max_size = 1000
print("STARTING_THE_SERVER_AT: " + str(datetime.now()))
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(address)
server.listen(5)
client, addr = server.accept()
while(True):
data = client.recv(max_size)
print(str(datetime.now()) + ": " + str(data))
client.sendall(bytes("MESSAGE_RECEIVED"))
客户代码:
from datetime import datetime
import socket
print("STARTING_CLIENT_SETUP_AT: " + str(datetime.now()))
ip = raw_input("SERVER_IP: ")
port = int(raw_input("SERVER_PORT: "))
username = raw_input("CLIENT_USERNAME: ") + ": "
address = (ip, port)
max_size = 1000
print("STARTING_CLIENT_AT: " + str(datetime.now()))
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(address)
while(True):
client.sendall(bytes(username + raw_input()))
欲了解更多信息: 这是用Python2.7编写的 我已经尝试了IP的每一个单一组合来实现这个目标 工作的东西(0.0.0.0,127.0.x.x,192.168.x.x,localhost) 我也无法向前移动。