服务器-客户端聊天程序(Python套接字)

时间:2020-06-20 01:40:09

标签: python sockets connection client-server chat

我想使用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())

1 个答案:

答案 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的新手。