Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielerklärung der Socket-synchronen Kommunikation in Python3

Beispielerklärung der Socket-synchronen Kommunikation in Python3

巴扎黑
巴扎黑Original
2017-08-09 10:54:551844Durchsuche

In diesem Artikel wird hauptsächlich die synchrone Kommunikationsfunktion des Python3-Sockets vorgestellt und die clientseitige und serverseitige Implementierungstechnik des Python-Sockets anhand einfacher Beispiele analysiert

Dieser Artikel erzählt das Beispiel der synchronen Kommunikation mit dem Python3-Socket. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Dieser Artikel ist relativ einfach und für Anfänger geeignet. Machen Sie sich eine Notiz, um zukünftiges Kopieren zu erleichtern

Ein Server, ein Client und Es handelt sich um eine Blockierungsmethode. Es kann jeweils nur ein Client zur Verbindung und Kommunikation zugelassen werden.

Der Client sendet „bye“, um die Kommunikation mit dem Server zu beenden. Wenn er „shutdown“ sendet, fährt der Server selbst herunter!

Servercode:


from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
quit = False
shutdown = False
while True:
  print('waiting for connection...')
  tcpCliSock, addr = tcpSerSock.accept()
  print('...connected from: ', addr)
  while True:
    data = tcpCliSock.recv(BUFSIZE)
    data = data.decode('utf8')
    if not data:
      break
    ss = '[%s] %s' %(ctime(), data)
    tcpCliSock.send(ss.encode('utf8'))
    print(ss)
    if data == 'bye':
      quit = True
      break
    elif data == 'shutdown':
      shutdown = True
      break
  print('Bye-bye: [%s: %d]' %(addr[0], addr[1]))
  tcpCliSock.close()
  if shutdown:
    break
tcpSerSock.close()
print('Server has been

Clientcode:


from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
  data = input('>')
  if not data:
    continue
  print('input data: [%s]' %data)
  tcpCliSock.send(data.encode('utf8'))
  rdata = tcpCliSock.recv(BUFSIZE)
  if not rdata:
    break
  print(rdata.decode('utf8'))
  if data == 'bye' or data == 'shutdown':
    break
tcpCliSock.close()

Das obige ist der detaillierte Inhalt vonBeispielerklärung der Socket-synchronen Kommunikation in Python3. 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