Heim > Backend-Entwicklung > Python-Tutorial > Detaillierte Einführung in Python+Socket zur Implementierung der chinesischen automatischen Antwort-Chat-Funktion zwischen Client und Server basierend auf dem TCP-Protokoll

Detaillierte Einführung in Python+Socket zur Implementierung der chinesischen automatischen Antwort-Chat-Funktion zwischen Client und Server basierend auf dem TCP-Protokoll

巴扎黑
Freigeben: 2017-09-02 13:10:51
Original
1717 Leute haben es durchsucht

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() #关闭服务器
Nach dem Login kopieren

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())
Nach dem Login kopieren

[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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage