2011-12-30 2 views
1

전 세계에서 채팅하기 위해 피어 투 피어 채팅 응용 프로그램을 작성하고 있습니다.하지만 내 LAN 외부의 다른 컴퓨터에 연결할 수는 없습니다. 내 친구의 공용 IP 주소 및 필요한 경우 개인 IP 주소를 얻을 수 있습니다. 공개 IP 주소는 라우터의 주소가 아니고 컴퓨터의 주소가 아니기 때문에 PC에 어떻게 연결할 수 있습니까? 하나의 주소 만 지정할 수 있습니다 (일반 또는 개인). 그렇다면 어떻게 설정해야 할 필요없이 라우터에 있지 않고 특정 컴퓨터에 메시지를 보낼 수 있습니까? 나는 그것이 가능하다는 것을 알고 있습니다. 그렇지 않으면 웹 페이지를 요청하면 귀하의 개인 정보를 얻을 수 있습니다 (유선 방식이므로 분명히 가능합니다). 도움이된다면 불쌍한 영어에 대해 유감스럽게 생각합니다. D.LAN 외부 서버로 작동

+0

정확히 특정 질문은 무엇 ... - 인터넷에있는 모든 사람들은 단지 사람에게 메시지를 보낼 수 있다면

what would happen을 상상해? 가장 간단한 채팅 시스템은 브라우저에서 실행중인 클라이언트에게 웹 서비스를 통해 HTML 게시물이나 메시지를 사용하는 것입니다. 팻 클라이언트를 만들고 다른 클라이언트와 채팅하고 싶다면 tcp/ip 소켓을 사용할 수 있습니다. – AJG85

+0

그래, 그 가능성에 대해 생각하고 있었는데, 내 친구 목록을 내 서버의 PHP로 가져 오는 중이기 때문에, 나는 로그인과 로그 아웃을 제외하고 완전히 익명으로 P2P 스타일로 채팅 할 수 있었으면 좋겠다. – chubakueno

+0

Bittorrent와 같은 P2P 프로토콜을 사용하면 다른 컴퓨터에서 사용할 수 있다고 쉽게 가정 할 수 있습니다. 나는 tcp/ip 나 브라우저가없는 머신을 생각할 수 없다. – AJG85

답변

1

는 두 가지 가능성이 있습니다! ;-)

+0

IPv6에 "PC 당 하나의 IP"가 있습니까? – chubakueno

+1

그렇다면 지금 당장 모든 TCP/IP 코드를 삭제할 수 있습니다. D – chubakueno

+0

@chubakueno : 적어도 가능한 IPv6 주소의 수는 더 이상 NAT를 수행 할 필요가 없도록 충분히 큽니다. 커피 기계에도 공식 IP를 할당 할 수있는 전화가 너무 많습니다. – alk

1

사실 라우터의 반대편에있는 컴퓨터의 개인 IP 주소는 도움이되지 않습니다. 이러한 상황에서 귀하와의 연결을 시작하면 귀하는 그 연결에 대해 답변 할 수 있습니다.

당신이 그들에 대한 연결을 시작하려면 공개 IP 주소로 그것에해야 그리고 그들은 자신의 라우터는 네트워크에 올바른 IP 주소 (어떤 포트) 인바운드 요청을 매핑하도록 구성해야합니다 .

1가 주변 읽기 : IPv6에 대한 http://en.wikipedia.org/wiki/STUN

2 이동

+0

두 컴퓨터가 라우터 뒤에 있으면 다른 컴퓨터와의 연결을 시작할 수 없습니까? – chubakueno

+0

시작 컴퓨터가 어디에 있는지는 중요하지 않습니다 (라우터/방화벽이 연결을 해제한다고 가정). 그러나 라우터 뒤에있는 대상 컴퓨터는 라우터를 올바르게 구성해야합니다. "라우터에 닿아"컴퓨터를 사용할 수있는 방법은 없습니다. –

+1

요청되지 않은 연결 요청은 토큰 비트 보안이있는 시스템에서 일괄 적으로 거부됩니다. 채팅 응용 프로그램은 관련된 컴퓨터에서 실행해야하며 두 가지 방법으로 연결을 수신 대기 할 수 있습니다. – AJG85

0

먼저, 연결하려는 컴퓨터가 특정 포트 (연결하려는 포트)를 청취하고 있는지 확인해야합니다.

친구 라우터가 해당 포트의 모든 요청을 친구의 컴퓨터로 전달하도록 구성해야합니다. 라우터에 액세스 할 수없는 경우 라우터 뒤의 컴퓨터를 채팅 서버로 사용하는 것이 가장 좋습니다.

+0

예, 문제는 로그인 및 로그 아웃 (데이터베이스에 연결하여 개인 정보를 다운로드하는 경우)을 제외하고 완전히 익명으로 채팅하고 싶습니다. P2P를 할 수 없다면 괜찮습니다. – chubakueno

+1

그건 상충되는 진술입니다 ;-) 로그인과 개인 정보의 데이터베이스를 요구하는 것은 익명과 정반대입니다. – AJG85

+0

좀 더 정확히 말하자면, 제 서버는 누군가와 그녀의 gf가 말하는 내용을 알기를 원합니다. D – chubakueno

0

이상적인 솔루션은 uPNP입니다. 이렇게하면 응용 프로그램이 현재 네트워크의 라우터와 통신하여 적절한 메시지를 전달하도록 요청할 수 있습니다. 그러면 방화벽에 구멍이 생기므로 응용 프로그램 (다른 PC)이 연결할 수 있습니다.

두 앱이 모두이를 수행한다고 가정하면 어느 쪽이라도 연결을 시작할 수 있습니다. 한쪽 끝에서만 응용 프로그램이 있으면 다른 쪽 끝에서 연결을 시작해야합니다. 어떤 소프트웨어를 미리 설치와