ソケットは、アプリケーション層となるインターフェイスの集合である抽象化層を、通信する中間ソフトウェアTCP / IPプロトコルスイート。デザインモードでは、ソケットは、実際にファサードパターンであり、それは複雑である隠されたTCP / IPプロトコルスイートユーザーのためのソケットインタフェースの後ろに、シンプルなインタフェースがすべてセットで、聞かせてソケットが指定を遵守するために、データを整理します合意。
だから、私たちはTCP / UDPプロトコルの深い理解を必要としない、ソケットが私たちのために良いパッケージを持って、私たちは自然のTCP / UDPの基準を以下のプログラムを作成し、プログラムへのソケットの規定に従う必要があります。
# - 簡単な例は、TCP / IPソケットのサーバー側に基づいています
#TCPはリンクをベースに、あなたは最初にサーバを起動し、サーバーのリンクにクライアントを起動する必要があります
初期化サーバソケットは、その後、結合ポート(バインド)は、ポートをリッスン呼び出し、(聞く)クライアント接続を待って、ブロックを受け入れます。あなたは、クライアントが開始されている場合は、この時点でソケットを、サーバーに接続し、接続が成功した場合(接続)、そしてクライアントを接続し、サーバが確立されています。クライアントがデータ要求を送信し、サーバは要求を受け取り、要求を処理し、クライアントに応答データを送信し、クライアントがデータを読み込み、そして最終的に接続を閉じ、相互作用の両端
ソケットインポートソケット ip_port =(" 127.0.0.1 "、8080 ) buf_sizeの = 1024 tcp_server = ソケット(AF_INET、SOCK_STREAM) tcp_server.bind(ip_port) tcp_server.listen( 5 ) CONN、ADDR = tcp_server.accpet() MSG = CONN .recv(buf_sizeの) プリント(" 收到客户端发送的消息"、msg.decode(" UTF-8 " )) conn.send(msg.upper()) はconn.close() tcp_server.close()
#簡単な例は、TCP / IPソケットクライアントに基づいています
ソケットインポート * ip_port =(" 127.0.0.1 "、8080 ) buf_sizeの = 1024 tcp_client = ソケット(AF_INET、SOCK_STRAM) tcp_client.connect(ip_port) tcp_client.send(" ハロー" .encode(" UTF-8 " )) データ = client.recv(buf_sizeの) プリント(" 客户端收到消息"、data.decode(" UTF-8 " )) )(tcp.client.close
UDPの例に基づいて#1ソケットサーバ
#UDPはエンドがエラーを開始されることはありません何のリンク、ではありません
ソケットインポート * ip_port =(" 127.0.0.1 "、8080 ) buf_sizeの = 1024 udp_server = ソケット(AF_INET、SOCK_DGRAM) udp_server.bind(ip_port) MSG、ADDR = udp_server.recvfrom(buf_sizeの) プリント(" 服务端收到消息 "msg.decode( " UTF-8 " )) udp_server.sendto(msg.upper()、ADDR)
の#UDPソケットベースのクライアント側の例
ソケットインポート * ip_port =(" 127.0.0.1 "、8080 ) buf_sizeの = 1024 udp_client = ソケット(AF_INET、SOCK_DRGAM) udp_client.sendto(" ハロー" .encode(" UTF-8 " )、ip_port) データ、ADDR = udp_client .recvfrom(BUFSIZE) プリント(data.decode(" UTF-8 "))