pythonはクライアントとサービスの通信を実現します。


関数紹介
ソケットの対象方法:
サービス:
関数
説明
.bind()
アドレスキーをバインドし、AF_INETの下では元のグループとしてアドレスを表示します。よく使うbind((host,port))
.listen()
TCPを傍受して、保留することができる最大の接続数、この値は少なくとも1で、普通は5に設定すればいいです。
.accept()
受動的にTCPクライアントの接続を受け入れる
クライアント:
関数
説明
.connect()
初期化サーバ接続
.connect_ex()
はconnect()関数への拡張です。エラー時にエラーコードを返します。異常を報告しません。
その他の関数:
関数
説明
recv()
受信データは文字列で返され、受信した最大データ量をbufsizeが指定します。
.send()
データを送信して、string中のデータを接続のソケットに送信します。戻り値は送信するバイト数です。通常は.encode()関数を使用してデータをトランスコードします。
senddall()
完全なデータを送信し、戻る前にすべてのデータを送信しようとします。
recvfrom()
recv()関数と同様に、戻り値は(data,address)であり、dataは受信データを含む文字列であり、addressは送信データのソケットアドレスである。
sendto()
UDPデータを送信して、ソケットにデータを送ります。形式はiPad、portのタプルです。
.close()
ソケットを閉じる
職務に服する
socket関数を使用してsocketオブジェクトを作成して、socketサービスを設定して、bind関数によってポートを指定して、socketオブジェクトのaccept方法を使って、クライアントの接続を待って、connectionオブジェクトに戻ります。
具体的な手順は:

        
serversocket=socket()
         
serversocket.bind()
       
serversocket.listen()
    while    ,         
while True:
 serverclient=serversocket.accept()
 while True:
   #     
   serverclient.recv()
   serverclient.send()
   #        
   serverclient.close()
        
serversocket.close()
具体的なコードの実現:

import socket
import sys
import time

serversocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host=socket.gethostname()#       
port=9999
#     
serversocket.bind((host,port))

#       
serversocket.listen(5)
while True:
  print('     ,       ')
  clientsocket,addr=serversocket.accept()
  print('    :%s' % str(addr))
  while True:
    try:
      data=clientsocket.recv(1024)
    except Exception:
      print('      :',addr)
      break
    print('       :',data.decode('utf-8'))
    reply=input('  :').strip()
    if not reply:
      break
    msg=time.strftime('%Y-%m-%d %X')#        
    msg1='[%s]:%s'% (msg,reply)
    clientsocket.send(msg1.encode('utf-8'))
  clientsocket.close()
serversocket.closel()
実現機能:Whileによりクライアントから送信されたデータを循環的に受信し、クライアントから送信されたデータを表示してクライアントデータに戻し、クライアントへのデータ情報を戻してタイムスタンプを加える。
クライアント
以上のサービスを接続するためのクライアントサービスを作成し、そのサービスを利用してTCP接続をホストに開き、接続後にサービスからデータを取得し、操作が完了したら接続を終了します。具体的な手順は、クライアントのソケットCient=socketを作成し、サーバclient.co nnect()に接続してデータclient.send()client.recv()クライアントソケットクローズclient.close()``

import socket
import sys


s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host=socket.gethostname()
port=9999
s.connect((host,port))
while True:
  data= input('>>').strip()
  if not data:
    break
  s.send(data.encode('utf-8'))
  msg=s.recv(1024)
  if not msg:
    break
  print(msg.decode('utf-8'))
s.close()
テスト
cmdコマンドラインを使ってコードのあるファイルディレクトリに開いて、pythonサービスエンドファイル名.pyを実行して、もう一つのcmdコマンドインターフェイスを開けて、pythonクライアントファイル名を実行します。py
pycharmでサービスエンドコードを実行し、実行結果:

cmdでクライアントコードを実行し、実行結果:

以上はpythonクライアントとサービス端末の通信の詳細を実現しました。pythonクライアントとサービス端末に関する資料は他の関連記事に注目してください。