2012-03-26 4 views
0

자바로 간단한 에코 서버를 만들었습니다. 내가 로컬로 시도하면 정상적으로 작동합니다. 그러나 IP 주소와 서버가 실행중인 포트 번호를 사용하여 다른 컴퓨터에서 연결하려고하면 결코 연결되지 않습니다. 다른 컴퓨터의 서버에 연결하기 위해 수행해야 할 다른 작업이 있습니까?Java 서버를 실행중인 다른 컴퓨터에 연결하는 방법은 무엇입니까?

import java.net.Socket; 
import java.net.ServerSocket; 

public class EchoServer { 

    public static void main(String[] args) throws Exception { 

     // create socket 
     int port = 4444; 
     ServerSocket serverSocket = new ServerSocket(port); 
     System.err.println("Started server on port " + port); 

     // repeatedly wait for connections, and process 
     while (true) { 

      // a "blocking" call which waits until a connection is requested 
      Socket clientSocket = serverSocket.accept(); 
      System.err.println("Accepted connection from client"); 

      // open up IO streams 
      In in = new In (clientSocket); 
      Out out = new Out(clientSocket); 

      // waits for data and reads it in until connection dies 
      // readLine() blocks until the server receives a new line from client 
      String s; 
      while ((s = in.readLine()) != null) { 
       out.println(s); 
      } 

      // close IO streams, then socket 
      System.err.println("Closing connection with client"); 
      out.close(); 
      in.close(); 
      clientSocket.close(); 
     } 
    } 
} 
+1

방화벽이 연결을 차단했을 수 있습니다. 짧은 테스트를 위해 해제하십시오. 당신은 라우터에 의해 다른 컴퓨터와 분리되어 있습니까? – Tudor

+2

코드 추가 서버 소켓은 어떻게 만듭니 까? –

+0

'netstat -na'를 호출하고 서버를 바인드 한 주소를 확인하십시오. 0.0.0.0:* (또는 ::: * ipv6의 경우) –

답변

0

이 당신의 LAN에있는 경우 이름 (실제 기계 이름으로 EchoServer를 실행하는 시스템을 참조, 나는 그들이 당신이 그것을 올바른이 에코 서버 훈련을 게시 일 튜토리얼에이 방법을 어떻게 보여줄 생각?). 문제가 해결되면 문제 해결에 많은 도움이됩니다.

1

다음 사항을 확인하십시오.

  1. 서버 컴퓨터가 네트워크 프록시 뒤에 있습니까?

  2. 여기에는 에서 액세스 할 수있는 독립적 인 공용 IP 주소가 있습니까? 또는 LAN에 액세스 할 수있는 내부 IP가 있습니까?

  3. FireWalls에서 포트 4444 예외가 있는지 확인하십시오. 또는 클라이언트와 서버 모두에서 FireWalls를 해제 할 수 있습니다.

도움이되지 않는 경우 질문을 편집하여 예외를 게시하십시오. 아니면 서버 프로그램이 오류없이 그냥 멈추고 있습니까?

+0

방화벽이 꺼져 있습니다. 처음 두 개를 어떻게 확인할 수 있습니까? – ipman

+0

두 컴퓨터에서 http://ipchicken.com/을 엽니 다. 두 IP가 모두 같으면 네트워크 프록시 뒤에 있으며 컴퓨터에 개별 공용 IP가 없습니다. – tusar

관련 문제