簡體   English   中英

服務器-客戶端聊天程序(Python 套接字)

[英]Server-Client chat program(Python sockets)

我想使用 python sockets 創建一個服務器-客戶端聊天程序。 我試圖通過互聯網連接服務器(我)和客戶端(我的朋友),但我仍然無法理解這樣做的方式。 請幫我。

服務器:

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())

我推薦使用ngrok ,它可以充當端口轉發器,而無需自己動手。 將 ngrok 下載到您的 system32 文件夾並在命令提示符中輸入以下內容: ngrok tcp %PORT%這將在 localhost ('0.0.0.0') 上創建一個 TCP 套接字,因此現在您必須對您的程序執行以下操作:

服務器:

s.bind(('0.0.0.0', %PORT%)) # 你用於 ngrok 的端口`

客戶:

s.connect(('NGROKHOSTIP', %NGROK FORWARDED PORT%))

NGROKHOSTIP 可以在 IP 程序的域中找到。 您可以使用 Python 自己執行此操作。 另外,對不起,我無法更好地解釋這一點,我是stackoverflow的新手。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM