두 개의 소켓 브리징

두 개의 소켓 브리징

나는 궁금했다것이 가능하다두 개를 연결하다들어오는 TCP소켓.
예를 들어:

Client A  ----->  Server  <----- Client B

서버는 두 클라이언트 모두에게 마법을 보낸 다음 서버를 우회하여 서로 연결합니다.

                  Server
Client A  ----------><---------- Client B

업데이트:

아이디어는 해당 클라이언트가 서버의 도움으로 서로 연결을 생성할 수 있도록 포트에 바인딩할 수 없다는 것입니다.

예를 들어 클라이언트 A와 클라이언트 B에는 서버와 TCP 소켓이 있습니다. 사용자 A는 사용자 B와 채팅하기로 결정하고 사용자 B와 연결하라는 요청으로 서버와의 새로운 TCP 연결을 생성합니다. 서버는 해당 요청을 클라이언트 B에 보내고 해당 채팅을 위해 서버와의 새로운 TCP 연결도 엽니다. 선.

이제 서버에 A와 B의 채팅 연결이 모두 있으면 이를 연결하여 서버 없이 작업할 수 있으며 결과적으로 서버는 두 사용자가 공유하는 모든 메시지와 파일을 처리할 필요가 없습니다. 그 생각이에요/

답변1

두 클라이언트가 모두 동일한 네트워크에 있는지 여부는 확실하지 않습니다. 나는 그렇지 않다고 가정합니다. 그렇지 않으면 이 질문이 나오지 않았을 것입니다.

위의 가정에 따르면 한 클라이언트는 TCP/IP 패킷을 다른 클라이언트로 직접 보낼 수 없으므로 브리지가 반드시 필요합니다. 따라서 일반적으로 대답은 이것이 불가능하다는 것입니다. 중개자로서 브리지가 항상 필요합니다.

그러나 두 클라이언트가 모두 라우터를 통해 인터넷에 연결된 경우 예를 들어 다음을 사용하여 인터넷을 브리지로 사용할 수 있습니다.소프트웨어. 자세한 내용은 다음을 참조하세요.이 답변내 것.

관련 정보