私はちょうどPythonを学び始めました。良い解決法を実装することはできません。TCP/IPサーバでのメッセージ送信、ctrl + c int処理、Python3
Ctrl + C割り込みを押すまでサーバにメッセージ(テキスト入力、入力、テキスト入力など)を送信できるクライアント/サーバを作成したいと考えています。このintはサーバとクライアント。
私の非常に基本的な、そしておそらく、Pythonのクライアント/サーバーの例がよくありますが、このペアはシングルショット用であり、プログラムは終了しています。
client.py
import socket
TCP_IP = '127.0.0.1'
TCP_PORT = 5005
BUFFERSIZE = 1024
sock = socket.socket()
sock.connect((TCP_IP, TCP_PORT))
msg = input('Enter your text: ')
sock.send(msg.encode())
data = sock.recv(BUFFERSIZE).decode()
sock.close()
print('Recieved data: ',data)
server.py
import socket
import sys
TCP_IP = '127.0.0.1'
TCP_PORT = 5005
BUFFER_SIZE = 1024
sock = socket.socket()
sock.bind((TCP_IP, TCP_PORT))
sock.listen(1)
conn, addr = sock.accept()
print('Connection address:\nIP:',addr[0])
print('Port:',addr[1])
while 1:
data = conn.recv(BUFFER_SIZE)
if not data: break
msg = data.decode()
print('Recieved data: ', msg)
conn.send(data)
conn.close()
任意の提案ですか?
あなたの質問は何ですか? –
Control-Cはスクリプトを終了し、自動的にソケットを閉じます。 – Barmar
@ Jean-FrançoisFabre質問は、チャットのようなサーバー上でのメッセージのスタックを送信する方法と、割り込みによってメッセージを処理した後で(トレースバックなどなしに)クライアント側がクローズした後もサーバを稼働させることができますが、今は必要ありません)。私のコードは** **メッセージを1つだけ送ることができ、結局は閉じます。 – genesi5