2012-10-25 3 views
2

하나의 포트 (포트 3000)에서 트래픽을 연결하고이를 새로운 포트 (포트 4000)에 보내고 완전한 양방향 TCP를 지원해야합니다.C#을 사용하여 TCP 트래픽을 어떻게 브리지해야합니까? 하나의 포트에서 트래픽을 복사하여 다른 포트로 보내야합니다.

어떻게 해결해야합니까? 소켓 클래스 또는 TCPClient 클래스를 사용해야합니까?

하나의 TCPClient에서 다른 TCPClient로 데이터 스트림을 보내는 것이 간단할까요?

내가 고려해야 할 다른 것이 있습니까?

+2

저는 이것이 프로그램으로해야 할 일인지 확신하지 못합니다. 이를 위해 iptables/경로를 사용할 수 없습니까? (예 : 라우터에서 처리하도록 허용 하시겠습니까?) – LueTm

+0

@LueTM 나는 윈도우 사용자이지만 iptables 솔루션을 공개합니다. iptables를 알아 내는데 너무 오래 걸렸지 만, 내가 아는대로 열어 줬어. – LamonteCristo

답변

2

당신의 프로그램은 서버 모두의 역할을 할 필요가 클라이언트 :

그것은 당신의 프로그램이 연결을 수신하는 포트 3000에 대한 서버에서 행동해야한다. 새 연결을받을 때마다 포트 4000의 실제 서버에 대한 새 연결을 만듭니다.이 두 연결 (포트 3000에서 시작된 연결과 사용자가 만든 포트 4 연결)을 함께 유지하여 두 연결을 유지합니다 . 이러한 연결에서 데이터를 수신하면 쌍의 다른 연결에서 데이터를 보냅니다.

관련 문제