2013-09-26 3 views
0

원격 서버에서 데이터를 읽는 (서버 코드에 액세스 할 수 없음) 프로그램을 실행하여 인쇄하려고합니다. java.net.SocketException의 : 연결 재설정소켓 프로그래밍 : 연결 재설정 예외 - Java

여기 내 코드입니다 : 그것은 내가 나에게이 예외를 던지는 메소드 InputStream.read()를 사용할 때 충돌

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();*/ 
     } 

    } 
} 
+0

다음 두 가지 스레드를 살펴보십시오. http://stackoverflow.com/questions/585599/whats-causing-my-java-net-socketexception-connection-reset 및 http://stackoverflow.com/questions/62929/java-net-socketexception-connection-reset – Ankit

답변

0

서버가 연결을 다시 설정이 있습니다. 수신하기 전에 무언가를 보내기로되어 있었습니까?