TCP客户端出现异常错误

时间:2017-10-08 17:45:52

标签: java python sockets server client

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

这是我的代码

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 个答案:

答案 0 :(得分:0)

我解决了,问题是如此愚蠢以至于我觉得自己像个小丑,似乎在我的服务器里我有大写字母的“DANTE”所以它永远不会回应因为与我的客户“Dante”不匹配,对不起ppl。