2012-01-02 4 views
0


동일한 네트워크에 있지 않은 두 컴퓨터 사이에서 통신하고 싶습니다. 소켓을 사용하려했지만 동일한 통신에서 자습서와 예제 만 찾았습니다. 회로망.
stackoverflow에서 검색하려고했지만 검색 할 내용이 명확하지 않습니다.
양방향 텍스트 (채팅)를 보내려고합니다.은 동일한 네트워크에 있지 않은 컴퓨터와 통신합니다.

-edit- 내가 사용하거나 할 일이 막연하다. 따라서 나는 chatapp을 위해 양방향 텍스트 (아마도 날짜)를 보내기를 원한다고 훨씬 더 명확하게 말할 수 없다. 에서 배울 수 있습니다. -edit-

+1

자세한 내용은 모호한 것으로 닫으십시오. 너는 '같은 네트워크에 있지 않다'는 의미입니까? 왜 소켓을 사용합니까? 어떤 종류의 통신을 두 가지 방법으로 - 한 가지 방법, 신뢰성, 보안 등? 당신의 목표는 무엇입니까? 세부 사항 세부 사항은 –

+0

주십시오 당신이 가지고있는 문제의 더 특정한 문제 그리고 세부 사항을 제공하십시오? –

답변

1

두 컴퓨터간에 통신하려면 동일한 확장 네트워크에 있어야합니다. 다른 옵션은 데이터를 외부 드라이브에 저장하는 것뿐입니다. USB 드라이브에 연결하고 두 번째 시스템과 최대 부하에 연결할 수 있습니다.

소켓을 사용하면 인터넷 연결을 통해 다른 컴퓨터와 통신하고 방화벽을 제공하고 연결을 허용하도록 구성 할 수 있습니다. 방화벽의 요점은 무단 액세스를 방지하는 것입니다. 나는 이것이 당신의 진짜 문제라고 생각합니다. 방화벽이 액세스를 차단하는 경우 Java (Google 네트워크 해킹 대안)를 사용하여이 문제를 해결할 수 없어야합니다.

또 다른 옵션은 두 컴퓨터가 서로 직접 대화 할 수없는 경우 이메일과 같은 서비스를 사용하는 것입니다. 여전히 동일한 네트워크에 연결되어야합니다.) 이것은 직접 연결을 사용하는 것보다 훨씬 복잡하지만 수행 할 수 있습니다.

대신 방화벽을 올바르게 구성하면 일반 소켓을 사용할 수 있습니다.

+0

컴퓨터 이름이 같을 수 없습니다 (소켓은 호스트 이름으로 연결되어 있습니까?)? 또는 IP 주소를 사용할 수 있습니까? – 11684

+0

이것은 내가 말한 것이 아니지만 컴퓨터는 다른 도메인 이름과 다른 외부 IP 주소를 가진 동일한 이름을 가질 수 있습니다. 동일한 로컬 네트워크에 동일한 주소를 가진 두 대의 컴퓨터가있는 경우 이는 잘못 구성된 네트워크입니다. –

+0

"소켓을 사용하여 인터넷에 연결된 다른 컴퓨터와 통신 할 수 있습니다." 그래서 동일한 네트워크에있을 필요가없는 컴퓨터에 IP 주소를 사용하여 소켓과 연결할 수 있다고 해봅시다. – 11684

0

외부 IP를 가져와야합니다 (이 IP를 방문하는 사이트가 있습니다). 방화벽이 통신을 허용하기를 바랍니다. 일반적으로 1000보다 큰 포트를 사용해야합니다. 피어 투 피어 라이브러리가 있어야합니다.

또 다른 방법은 하나의 컴퓨터에서 SSH를 사용하는 것입니다 (JSch는 SSH 용으로 하나의 Java 라이브러리 임).

가장 쉬운 방법은 이메일 교환입니다. javax.mail API는 작지만 가장 쉬운 방법은 아닙니다. (특히 내가 한 번했듯이 모든 메일을 쉽게 삭제할 수 있습니다.)