Python で単純なクライアントとサーバーのメッセージング プログラムを作成しようとしていますが、「TypeError: 'str' はバッファー インターフェイスをサポートしていません」というエラーが表示され続け、それが何を意味するのかさえわかりません。私は大部分が Python の初心者であり、ネットワークの完全な初心者です。
何らかの理由で文字列データを送信できないと思いますか? この場合、どのように文字列を送信しますか?
参考までに、これのほとんどを取得したサンプル コードは python 2.x 用であり、これを Python 3 で実行しているので、バージョンの移行から解決するのは別の問題だと思います。同じ問題を検索しましたが、同じ修正を自分の状況に適用する方法が実際にはわかりません。
サーバーの最初のコードは次のとおりです。
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("", 5000))
server_socket.listen(5)
print("TCP Server Waiting for client on port 5000")
while 1:
client_socket, address = server_socket.accept()
print("TCP Server received connect from: " + str(address))
while 1:
data = input("SEND(Type q or Q to quit):")
if(data == 'Q' or data == 'q'):
client_socket.send(data)
client_socket.close()
break;
else:
client_socket.send(data)
data = client_socket.recv(512)
if(data == 'q' or data == 'Q'):
client_socket.close()
break;
else:
print("Received: " + data)