Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
套接字编程:连接重置异常-Java_Java_Sockets_Connection_Socketexception - Fatal编程技术网

套接字编程:连接重置异常-Java

套接字编程:连接重置异常-Java,java,sockets,connection,socketexception,Java,Sockets,Connection,Socketexception,我正在尝试执行一个程序,从远程服务器读取数据(我无法访问服务器代码)并打印数据。 当我使用方法InputStream.read()时,它崩溃了,引发了以下异常:java.net.SocketException:Connection reset 这是我的密码: import java.io.IOException; import java.io.InputStream; import java.net.InetSocketAddress; import java.net.Socket; impor

我正在尝试执行一个程序,从远程服务器读取数据(我无法访问服务器代码)并打印数据。 当我使用方法InputStream.read()时,它崩溃了,引发了以下异常:java.net.SocketException:Connection reset

这是我的密码:

import java.io.IOException;
import java.io.InputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.UnknownHostException;


public class ProtocoloX {
    private byte[] bytes = new byte[1024];
    //private byte[] bytes = new byte[]{(byte) 0xC6, 0x57, 0x54, (byte) 0x95, 0x5E, (byte) 0x9E, 0x6B, (byte) 0xC6, 0x55, 0x17, 0x55,0x52, (byte) 0x9E, 0x21};
    private Socket cliente;
    private final String HOST = "177.71.195.77";
    private final int PORT = 56668;

    public boolean connect(){
        this.cliente = new Socket();
        System.out.println("-- Trying to connect: "+HOST+":"+PORT);
        InetSocketAddress socketAddress = new InetSocketAddress(HOST, PORT); 
        try {
            this.cliente.connect(socketAddress, 10000000);
        } catch (IOException e) {
            System.out.println(e);
            System.out.println("-- CONNECTION PROBLEM ");
            return false;
        }

        System.out.println("-- Connection successful");
        return true;
    }

    private void receive(){
        InputStream stream = null;  
        System.out.println("-- Reading data...");
        try {
            stream = this.cliente.getInputStream();
            try {
                int count = stream.read();
                System.out.println((char) count);
            } catch (IOException e) {
                System.out.println("-- DATA READING PROBLEM");
                e.printStackTrace();
            }
        } catch (IOException e) {
            System.out.println("-- DATA READING PROBLEM");
            e.printStackTrace();
        }
        System.out.println("-- Data read successful");
    }

    private void send(){
        //TODO: função que envia sinal
    }

    private void decode(){

    }

    private void encode(){
        //TODO: função que codifica
    }

    public static void main(String[] args) throws UnknownHostException, IOException {
        ProtocoloX protocolo = new ProtocoloX();
        if(protocolo.connect()){
            protocolo.receive();
            /*protocolo.decode();
            protocolo.encode();
            protocolo.send();*/
        }

    }
}

服务器已重置连接。也许你应该在收到之前发送一些东西?

看看这两个线程,然后