Heim  >  Artikel  >  Backend-Entwicklung  >  Einfache Verwendung von TCP-Sockets in der Python-Netzwerkprogrammierung

Einfache Verwendung von TCP-Sockets in der Python-Netzwerkprogrammierung

不言
不言Original
2018-04-09 14:37:071882Durchsuche

Dieser Artikel stellt hauptsächlich die einfache Verwendung von TCP-Sockets in der Python-Netzwerkprogrammierung vor. Ich werde ihn hier mit Ihnen teilen. Freunde, die ihn benötigen, können darauf verweisen.

Dieser Artikel beschreibt die TCP-Sockets in der Python-Netzwerkprogrammierung mit Beispielen. Einfache Verwendung. Ich teile es Ihnen als Referenz mit:

Ich habe letztes Semester Computernetzwerk gelernt, und ich weiß nur wenig über Java und C ist schwierig schreibe, also habe ich die TCP-Suite-Schnittstellenprogrammierung nie wirklich implementiert.

Ich habe kürzlich Python gelernt und es ist sehr praktisch und einfach, es zum Schreiben von Sockets zu verwenden, also muss ich es natürlich ausprobieren.

Das Folgende ist eine Einführung in das einfachste TCP-Programm, das auf dem Code basiert. Der Client gibt Daten ein, sendet sie an den Server und gibt sie an den Client zurück >


#!/usr/bin/python
'test TCP server'
from socket import *  #套接字所需要的模块
from time import ctime  #时间模块
HOST = ''  #主机名,为空,表示可以绑定在任何有效的地址上。
PORT = 21567  #随机选的可用端口
BUFSIZ = 1024  #发送数据的缓冲区
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)  #第一个参数是socket_family,此处用常用的AF_INET,第二个参数是流套接字,即创建的是tcp
tcpSerSock.bind(ADDR)  #套接字与地址绑定
tcpSerSock.listen(5)  #开始监听,参数表示允许的最大连接数
while True:
  print 'waiting for connection...'
  tcpCliSock, addr = tcpSerSock.accept()  #打开大门等待客人,accept返回一个元组(connection,address)。第一个元素是新的socket对象,服务器必须通过它与客户通信;第二个是客户的地址。
  print '...connected from:',addr
  while True:
    data = tcpCliSock.recv(BUFSIZ)  #洗耳恭听,把客人的话记录到data中
    if not data:  #客人话说完了,送客
      break
    tcpCliSock.send('[%s] %s' %(ctime(), data))  #发送当前时间,以及数据给客人
  tcpCliSock.close()  #送客,关闭与该客人通信的套接字
tcpSerSock.close()  #因为上面是死循环,此处不是必须的,只是提醒大家离开的时候务必要关门!

Oben werden zwei Sockets verwendet. Der erste tcpSerSock wird als Willkommens-Socket bezeichnet, und der zweite tcpCliSock ist der Socket, der tatsächlich für die Kommunikation mit dem Client verantwortlich ist Dies hat den Vorteil, dass ein Server mehrere Gäste gleichzeitig empfangen kann.

Das Folgende ist der Client-Code, der sehr einfach ist:


Verwandte Empfehlungen:

#!/usr/bin/python
'test tcp client'
from socket import *
HOST = 'localhost'  #因为我是在同一台机器上运行,所以是localhost,不同主机的话,此处需要改成服务器地址
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)  #客户端只需要一个套接字
tcpCliSock.connect(ADDR)  #发起连接
while True:
  data = raw_input('>')
  tcpCliSock.send(data)  #发送数据
  if not data:
    break
  data = tcpCliSock.recv(BUFSIZ)  #接收数据
  print data
tcpCliSock.close()


Python-Einführung in die grundlegende Schreibmethode der Webcrawler-Funktion

,

Python-Netzwerkprogrammierung

Zusammenfassung der in der Python-Netzwerkprogrammierung häufig verwendeten Funktionen

Das obige ist der detaillierte Inhalt vonEinfache Verwendung von TCP-Sockets in der Python-Netzwerkprogrammierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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