0
ここでは、基本的なJavaサーバーを使用してクライアントから受け取るものをクライアントに返します。クライアントはPythonで書かれています。私は、サーバーが接続を確認するメッセージをクライアントに送信するので、最初の接続を行うことができます。しかし、私はクライアントが何かを送信するサーバーを送信する場合は何もしません。私は、クライアントが送信していない、またはサーバが受信していないという問題があるかどうかはわかりません。ここでJavaサーバーとPythonクライアントの接続
は、サーバーのコードです:
int portNumber = Integer.parseInt(args[0]);
try (
ServerSocket serverSocket = new ServerSocket(portNumber);
Socket clientSocket = serverSocket.accept();
PrintWriter outs =
new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
) {
String inputLine, outputLine;
outputLine = "Hello socket, I'm server";
outs.println(outputLine);
outs.println("I' connected");
while ((inputLine = in.readLine()) != null) {
outputLine = inputLine;
outs.println(outputLine);
if (outputLine.equals("Bye."))
break;
}
} catch (IOException e) {
System.out.println("Exception caught when trying to listen on port "
+ portNumber + " or listening for a connection");
System.out.println(e.getMessage());
}
} }
、ここでは、クライアントの:
Pythonクライアントでimport socket
HOST = "localhost"
PORT = 8080
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
print (socket.getaddrinfo(HOST,PORT))
buffer_size = 100
while True :
data = sock.recv(buffer_size)
print ('you recieved :' , data)
test = input('send here\n')
sock.sendall(bytes(test, 'utf-8'))
print ('you sent : ' , test)
Java APIに 'RESTful'を使用し、Pythonクライアントに' requests'を使用するのは簡単な方法ではありませんか? –
私は分かりません。しかし、私がこのコードで間違っていたことをあなたが説明することは可能でしょうか? – kessi
私は '\ n'が何とか破壊されたと思う。しかし、私はPythonに慣れていません。 – Fildor