我想使用python套接字创建服务器-客户端聊天程序。我试图通过互联网连接服务器(我)和客户端(我的朋友),但我仍然不明白这样做的方法。请帮助我。
服务器:
import socket
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((my host, 12345))
s.listen(1)
conn, addr=s.accept()
while 1:
msg=input(">>")
conn.send(msg.encode())
print("Client:"+conn.recv(1024).decode())
客户
:import socket
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((my host, 12345))
while 1:
print("Server:"+s.recv(1024).decode())
msg=input(">>")
s.send(msg.encode())
答案 0 :(得分:0)
我建议使用ngrok,它可以充当端口转发器,而无需您自己做。将ngrok下载到您的system32文件夹,然后在命令提示符下输入以下内容:
ngrok tcp %PORT%
这将在本地主机('0.0.0.0')上创建一个TCP套接字,因此现在您必须对程序执行以下操作:
服务器:
s.bind(('0.0.0.0', %PORT%))
#您用于ngrok的端口
客户:
s.connect(('NGROKHOSTIP', %NGROK FORWARDED PORT%))
可以使用域到IP程序找到NGROKHOSTIP。您可以使用Python自己完成此操作。 另外,抱歉,我无法更好地解释这一点,我是stackoverflow的新手。