我有用Java编写的代码,因为我不知道Java想使用python建立套接字连接,但我无法理解python等效于Java的getInputStream()和getOutputStream()吗?以及如何在python中使用它?接下来,您可以找到我已经在python中编写的代码。

  import socket
    try:
        resMsg = None
        myClient = None
        myClient = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        ip = socket.gethostbyname("usddcwvtrkjxts3")
        #print(ip)
        port = 3450

        address = (ip, port)
        myClient.connect(address)
        data = myClient.recv(1024)
        print(data)
    except:
        print("connection failed")


我已经用Java编写了以下代码:

        public String invoke(String requestMsg) {
            String resMsg = null;
            Socket myClient = null;
            DataInputStream input = null;
            PrintWriter output = null;
            try {
                try {
                    myClient = new Socket("vwddtrkjxts002", 3450);
                    input = new DataInputStream(myClient.getInputStream());
                    output = new java.io.PrintWriter(myClient.getOutputStream(), true);
                    output.println(requestMsg);
                    output.write("\u001A");
                    output.flush();
                    StringBuffer message = new StringBuffer();
                    try {
                        while (true) {
                            message.append((char) input.readByte());
                        }
                    } catch (EOFException e1) {
                    }

                    resMsg = message.toString();
                    System.out.println(resMsg);
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    output.close();
                    input.close();
                    myClient.close();

                } catch (IOException e) {
                    System.out.println(e);
                }
            }
            return resMsg;
        }


我能够与python建立连接,但无法将任何内容打印为输出。

任何建议都会有所帮助!先感谢您

最佳答案

您可以查看一个好的教程here

综上所述,


作为客户端发起连接的客户端,一旦建立连接,就可以使用套接字对象的recv()和send()方法来接收和发送信息
作为服务器,您绑定到端口并开始侦听。一旦accept()方法返回,便有了对象,可以在其上调用recv并发送类似于客户端的方法

09-11 19:19
查看更多