だから私はソケットプログラミングについて学んでいて、気の利いた小さなチャットサーバーを書いています。私が抱えている問題は、クライアントが同時に読み書きできないことです。これを設定する方法がよくわかりません。
これは私がこれまでに持っているものです。read() と write() を同時に実行したいです (同時に読み書きすることではなく、input() が待機中にメッセージを受信できるようにすることです)ユーザー入力用):
import socket
import threading
class Client(threading.Thread):
def __init__(self):
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.connect(('127.0.0.1', 1234))
print('Client connected to server')
self.readThread = threading.Thread.__init__(self)
self.writeThread = threading.Thread.__init__(self)
def read(self):
data = self.socket.recv(1024)
if data:
print('Received:', data)
def write(self):
message = input()
self.socket.send(bytes(message, 'utf-8'))
client = Client()
while True:
#do both