如何使用Python套接字与远程服务器交互

时间:2016-03-14 06:31:47

标签: python sockets

我正在尝试使用python套接字连接到服务器。我能够建立连接并获取响应数据。但是,我希望套接字通信从客户端进行交互。

例如,如果我使用netcat连接到服务器,则通信是交互式的:

SwingUtilities.invokeLater(new Runnable() {
        public void run() {

            try {
                Thread.sleep(5000);
                 lblToast.setText(6+"");
            } catch (InterruptedException ex) {
                Logger.getLogger(FXMLDocumentController.class.getName())
                                                  .log(Level.SEVERE, null, ex);
            }
        }
 });

但是,当我使用python套接字建立连接时,我收到的只是来自服务器的问候语,程序完成执行。

这是我正在使用的python代码:

nc aa.bb.cc.dd 1234

Server greets you
I can enter the input here
Server responds to my input

我想修改上面的python程序,以便我也可以向服务器发送输入。

感谢。

2 个答案:

答案 0 :(得分:0)

通常你做

input_data = input("Enter something: ")
s.send(bytes(input_data,'utf-8'))

答案 1 :(得分:0)

您可以使用while循环来获取用户输入,发送到服务器,并持续获得响应。

while True:
    print(str(s.receive(1024)))
    toSend = input()
    s.send(bytes(toSend, "utf-8"))