TCP プロトコルを使用して継続的な会話を実装するクライアントのサンプル コード:
import socket # 客户端配置 HOST = 'localhost' PORT = 12345 # 创建TCP套接字并连接服务器 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect((HOST, PORT)) while True: # 获取用户输入 message = input("请输入要发送的消息:") # 发送消息到服务器 client_socket.sendall(message.encode("utf-8")) # 接收服务器传回的消息 data = client_socket.recv(1024) print(f"收到来自服务器的消息:{data.decode('utf-8')}") # 关闭套接字 client_socket.close()
この例では、最初に TCP ソケットを作成し、connect を使用します。 ()
関数は、指定されたサーバー アドレスとポートに接続します。次に、ユーザー入力を含むメッセージをサーバーに継続的に送信し、サーバーが応答して結果を表示するのを待ちます。 TCP は接続指向のプロトコルであるため、接続上のメッセージの信頼性と順序性を保証できることに注意してください。
最後に、close()
関数を使用してソケットを閉じます。
TCP プロトコルを使用する場合、サーバーも対応する通信に TCP プロトコルを使用する必要があることに注意してください。
以下は、TCP プロトコルを使用して継続的な対話を実現するサーバーのコード例です。
import socket # 服务器配置 HOST = 'localhost' PORT = 12345 # 创建TCP套接字并绑定到地址和端口 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((HOST, PORT)) # 监听连接 server_socket.listen() # 接受连接并与客户端建立通信 client_socket, client_address = server_socket.accept() print(f"与客户端 {client_address} 建立连接。") while True: # 接收客户端传来的消息 data = client_socket.recv(1024) print(f"来自{client_address}的消息:{data.decode('utf-8')}") if not data: # 如果客户端关闭了连接,则退出循环 break # 获取用户输入 message = input("请输入要发送的消息:") # 发送消息到客户端 client_socket.sendall(message.encode("uft-8")) # 关闭套接字 client_socket.close() server_socket.close()
この例では、最初に TCP ソケット インターフェイスを作成し、指定されたアドレスとポートにバインドします。次に、listen()
関数を通じてクライアント接続リクエストのリッスンを開始します。
クライアントが接続すると、accept()
関数を呼び出して接続を受け入れ、クライアントのソケットとアドレスを返します。その後、ループを通じてデータの送受信を続けることで、継続的な会話が可能になります。
TCP は接続指向のプロトコルであるため、この接続を通じてメッセージの信頼性と順序を保証できることに注意してください。最後に、close()
関数を使用してソケットを閉じます。
実際の開発では、複数のクライアント接続を同時に処理できるようにするために、接続ごとに新しいスレッドまたはプロセスを作成する必要がある場合があることに注意してください。
以上がTCPを使用してPythonでクライアントとサーバー間の会話を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。