サーバー側とクライアント側の接続を学習しています: 私がやろうとしているのは、サーバー側とクライアント側のスクリプトをQpython (android)で相互に接続することです
問題は、実行すると次のようになることです。
「ConnectionRefusedError: Errno [111] 接続が拒否されました」
コンピューターで同じスクリプトを実行しても、エラーは発生しません。
背景情報:
スマートフォンで 2 つの異なるアプリを使用しています
そして、私のコンピューターに1つ。
しかし、それは問題ではないと思います
クライアント
import socket
import sys
HOST, PORT = "localhost", 9999
Data = " ".join(sys.argv[1:]) + input(" Enter Message:\n"
# Create a socket (SOCK_STREAM means a TCP socket)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
# Connect to server and send data
sock.connect((HOST, PORT))
sock.sendall(bytes(data + "\n", "utf-8"))
# Receive data from the server and shut down
received = str(sock.recv(1024), "utf-8")
finally:
sock.close()
print("Sent: {}".format(data))
print("Received: {}".format(received))
サーバ
import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
def handle(self):
# self.request is the TCP socket connected to the client
self.data = self.request.recv(1024).strip()
print("{} wrote:".format(self.client_address[0]))
print(self.data)
# just send back the same data, but upper-cased
self.request.sendall(self.data.upper())
if __name__ == "__main__":
HOST, PORT = "localhost", 9999
# Create the server, binding to localhost on port 9999
server = socketserver.TCPServer((HOST, PORT), MyTCPHandler)
server.serve_forever()