


Programmation réseau de socket Python Communication serveur et client TCP/IP
Programmation réseau de socket Python
Je suis nouveau sur Python. J'ai acheté deux livres il y a quelque temps, "Python Programming from Introduction to Practice" et "Python Core Programming Third. Edition", Vol. Un livre parle principalement d'une grammaire de base et de certaines méthodes d'utilisation de base, tandis que le deuxième livre est beaucoup plus approfondi. Je pense que je n'en ai qu'une petite compréhension. Il m'est arrivé de voir cette partie de la programmation réseau , et il y a encore beaucoup de choses que je ne comprends pas. Mais en y réfléchissant Grâce à votre propre exploration continue et à votre recherche continue d'informations et d'apprentissage, vous devriez devenir plus transparent tôt ou tard...
Le module principal utilisé dans cette partie est le module socket, et vous pouvez trouver la fonction socket dans cette fonction module (), qui est utilisée pour créer des objets socket. Les sockets ont également leur propre ensemble de méthodes, qui peuvent implémenter une communication réseau basée sur les sockets.
Fonction du module socket()
Pour créer un socket, vous devez utiliser la fonction socket.socket() Sa syntaxe générale est la suivante
socket(socket_family, socket_type, protocol=0)
tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
udpSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Création d'un serveur TCP
ss = socket() #创建服务器套接字 ss.bind() #套接字与地址绑定 ss.listen() #监听连接 inf_loop: #服务器无限循环 cs = ss.accepr() #接受客户端连接 comm_loop: #通信循环 cs.recv()/cs.send() #对话(接收/发送) cs.close() #关闭客户端套接字 ss.close() #关闭服务器套接字(可选)
#!/usr/bin/env python # -*- coding: utf-8 -*- from socket import * #将 socket 属性引入到命名空间 HOST = '' #这是对 bind()方法的标识表示可以使用任何可用的地址 PORT = 21571 #端口号 BUFSIZ = 1024 #缓冲区大小,1kb ADDR = (HOST,PORT) #地址???? tcpSerSocket = socket(AF_INET,SOCK_STREAM) #创建 tcp 套接字 tcpSerSocket.bind(ADDR) #将地址绑定到套接字上 tcpSerSocket.listen(5) #设置并启动套接字监听 while True: #无限循环,等待客户端连接 print('waiting for connection...') tcpCliSocket,addr = tcpSerSocket.accept() #被动接受客户端连接 print('...connected from:',addr) while True: #对话循环,等待客户端发送消息 data = tcpCliSocket.recv(BUFSIZ) #接收客户端消息 if not data: #如果消息是空白,跳出对话循环,关闭当前连接 break tcpCliSocket.send(data) #如果收到消息,将消息原封不动返回客户端 tcpCliSocket.close() tcpSerSocket.close()
Créer. Client TCP
cs = socket() #创建客户端套接字 cs.connect() #尝试连接服务器 comm_loop: #通信循环 cs.send()/cs.recv() #对话(发送/接收) cs.close() #关闭客户端套接字
#!/usr/bin/env python # -*- coding: utf-8 -*- from socket import * HOST = 'localhost' #服务器的主机名 PORT = 21571 #端口号 BUFSIZ = 1024 #缓冲区 ADDR = (HOST,PORT) #地址 tcpCliSocket = socket(AF_INET,SOCK_STREAM) #创建客户端套接字 tcpCliSocket.connect(ADDR) #连接服务器 while True: #通信循环 data = input('> ') #客户端输入信息 if not data: #如果输入信息为空,则跳出循环,关闭通信 break data = str.encode(data) tcpCliSocket.send(data) #发送客户端信息 data = tcpCliSocket.recv(BUFSIZ) #接受服务器返回信息 if not data: #如果服务器未返回信息,关闭通信循环 break print('get:',data.decode('utf-8')) tcpCliSocket.close()

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Les expressions régulières sont des outils puissants pour la correspondance des motifs et la manipulation du texte dans la programmation, améliorant l'efficacité du traitement de texte sur diverses applications.

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H
