In diesem Artikel wird hauptsächlich Python+Socket vorgestellt, um die chinesische automatische Antwort-Chat-Funktion zwischen Client und Server basierend auf dem TCP-Protokoll zu implementieren. Er analysiert die zugehörigen Betriebsmethoden und Vorsichtsmaßnahmen von Python+Socket, um das TCP-Chat-Programm mit automatischer Antwort zu implementieren Funktion in Form von Beispielen. Freunde in Not können sich auf
beziehen. Dieser Artikel beschreibt das Beispiel der Implementierung der chinesischen automatischen Antwort-Chat-Funktion zwischen dem Client und dem Server basierend auf dem TCP-Protokoll. Ich teile es Ihnen als Referenz mit:
[Beschwerde]
Der Code im Internet tötet Menschen schlüssig, und es kann in Frage gestellt werden.
Einige Freunde, die Codes lieben und gerne Codes sammeln, fügen die Codes anderer Leute ein und kopieren sie, wenn sie sie sehen. Aber zumindest kannst du versuchen, es auszuführen, Bruder
[Text]
Gestern habe ich das C/S-Chat-Programm geändert, um das UDP-Protokoll, aber das TCP-Protokoll auszuführen funktioniert nicht. Verschiedene Prüfungen, verschiedene Fallstricke.
Nachdem die folgenden Änderungen vorgenommen wurden, funktioniert es endlich:
1. Verschlüsseln und dekodieren Sie die gesendeten bzw. empfangenen Informationen
2 Der 10. Schritt des Clients Die Zeilenbindung wird in „connect“ geändert (Das ist wirklich eine große Grube!!)
(Dieser Artikel basiert auf Windows 7 + Python 3.4)
Der vollständige Code ist wie folgt (Kopfgarantie, ich habe es persönlich getestet und es ist normal!):
Server:
# tcp_server.py '''服务器''' from socket import * from time import ctime HOST = '' #主机地址 PORT = 23345 #端口号 BUFSIZ = 2048 #缓存区大小,单位是字节,这里设定了2K的缓冲区 ADDR = (HOST, PORT) #链接地址 tcpSerSock = socket(AF_INET, SOCK_STREAM) #创建一个TCP套接字 tcpSerSock.bind(ADDR) #绑定地址 tcpSerSock.listen(5) #最大连接数为5 while True: #无限循环 print('尝试连接客户端。。。') tcpCliSock, addr = tcpSerSock.accept() #等待接受连接 print('链接成功,客户端地址为:', addr) while True: data = tcpCliSock.recv(BUFSIZ) #接收数据,BUFSIZ是缓存区大小 if not data: break #如果data为空,则跳出循环 print(data.decode()) msg = '{} 服务器已接收 [自动回复]'.format(ctime()) tcpCliSock.send(msg.encode()) tcpCliSock.close() #关闭连接 tcpSerSock.close() #关闭服务器
Client:
# tcp_client.py '''客户端''' from socket import * from time import ctime HOST = 'localhost' #主机地址 PORT = 23345 #端口号 BUFSIZ = 2048 #缓存区大小,单位是字节,这里设定了2K的缓冲区 ADDR = (HOST, PORT) #链接地址 tcpCliSock = socket(AF_INET, SOCK_STREAM) #创建一个TCP套接字 #tcpCliSock.bind(ADDR) #绑定地址 tcpCliSock.connect(ADDR) #绑定地址 while True: msg = input('请输入:') #输入数据 if not msg: break #如果 msg 为空,则跳出循环 tcpCliSock.send(msg.encode()) data = tcpCliSock.recv(BUFSIZ) #接收数据,BUFSIZ是缓存区大小 if not data: break #如果data为空,则跳出循环 print(data.decode())
[Screenshot ausführen]
Experimentelle Methode: Führen Sie zuerst den Server und dann den Client aus
Dann können Sie frei mit dem Server auf dem Client chatten:
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Python+Socket zur Implementierung der chinesischen automatischen Antwort-Chat-Funktion zwischen Client und Server basierend auf dem TCP-Protokoll. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!