TCP客户端得到异常错误

TCP客户端得到异常错误

问题描述:

我在Java中编写了套接字客户端,并在python上编写了一个服务器。我在台式机上运行虚拟机(Ubuntu),然后启动服务器。如果我在笔记本上运行客户端代码,它可以正常工作,我可以发送和接收数据。服务器关闭,但问题出在我的台式机上。我复制了相同的代码,但它不起作用。它连接,并且可以发送但不接收。我认为这是一个网络问题,但我还没有找到解决方案。TCP客户端得到异常错误

这里是我的代码

Python的服务器:

import socket 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind(("",9999) 
s.listen(1) 
sc,addr = s.accept() 
recibido = sc.recv(4000000 
print recibido 
if (recibido == "Dante"): 
ed= "Im Cristian" 
sc.sendall(ed) 

Java客户端

public static void main(String[] args) { 
    try { 
     String str ="Dante"; 
     Socket s = new Socket ("192.168.1.104",9999); 
     PrintStream p= new PrintStream(s.getOutputStream()); 
     p.println(str); 
     BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream())); 
     String st = input.readLine(); 
     System.out.println(""+st); 


    } catch (IOException ex) { 
     System.out.println("Error: "+ ex.getMessage()); 
     Logger.getLogger(TCPCliente.class.getName()).log(Level.SEVERE, null, ex); 

    } 

} 

错误客户端

Error conecction reset 
oct 08, 2017 2:18:15 PM tcpcliente.TCPCliente main 
GRAVE: null 
java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:209) 
    at java.net.SocketInputStream.read(SocketInputStream.java:141) 
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 
    at java.io.InputStreamReader.read(InputStreamReader.java:184) 
    at java.io.BufferedReader.fill(BufferedReader.java:161) 
    at java.io.BufferedReader.readLine(BufferedReader.java:324) 
    at java.io.BufferedReader.readLine(BufferedReader.java:389) 
    at tcpcliente.TCPCliente.main(TCPCliente.java:26) 

难道一个防火墙问题?

+1

当你搜索'tcp connection reset'时,你发现了什么?如果你还没有尝试过,那就请这样做。 –

+0

抱歉,但我不明白你说的是什么意思?当它显示错误部分我只能cliock上最后一行 at'tcpcliente.TCPCliente.main(TCPCliente.java:26)' 并将我发送到我的java客户端代码中的26行 'String st = input.readLine();' –

+0

错误实际上与您的客户端代码无关。这是一个网络问题,但最有可能是服务器连接另一端的问题。你有没有检查那里发生了什么?我可以看到,你显示的Python代码是*无效*,也许它因此而停止了? –

我解决了它,问题太无聊了,我觉得自己像一个小丑,似乎在我的服务器上我有大写字母“DANTE”,所以它永远不会回应,因为不符合我的客户“Dante” ,对不起。