【问题标题】:Connecting a Java Server with a Python Client使用 Python 客户端连接 Java 服务器
【发布时间】:2017-03-08 09:42:21
【问题描述】:

所以事情是这样的,我有一个基本的 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());
    }
}  }

这是客户:

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)

【问题讨论】:

  • RESTful 用于Java API,将requests 用于python 客户端不是简单的方法吗?
  • 我不知道。但是你能解释一下我在这段代码中到底出了什么问题吗?
  • 我怀疑\n 以某种方式被破坏了。但是我对 Python 不熟悉。
  • 刚刚查找input - 所以你的提示包含\n 但输入的结果是什么?发送前尝试添加\n 进行测试。
  • 你是对的。 @菲尔多。我做到了,非常感谢。

标签: java python client-server python-sockets


【解决方案1】:

在 Python 客户端中: 您的提示包含 \n 但输入的结果不包含?尝试在发送前将\n 添加到test

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2023-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多