2016-07-16 5 views
2

단일 TCP 연결을 사용하여 클라이언트와 서버가 연결된 클라이언트 - 서버 프로그램을 작성하고 있습니다.단일 TCP 연결을 통해 여러 TCP 연결을 다중화하십시오.

통신 내에서 단일 TCP 연결을 통해 멀티 플렉스하려는 여러 데이터 "채널"이 있지만 채널간에 양호한 흐름 제어 기능 (기아 방지 등등 ...)이 여전히 있습니다. 또한 터널링은 좋지만 요구 사항은 아닙니다.

저는 C, Windows를 사용하고 있습니다.

나는 SSH를 사용하여 생각하지만 난 그것으로 몇 가지 문제가 있습니다

  1. 내가 문제 창을위한 좋은 오픈 소스 SSH 코드를 발견했다.
  2. SSH의 코드 대부분은 보안을 처리합니다.이 보안은 필요하지 않습니다.
  3. SSH는 모든 X11, pty, 껍질 등 내 요구에 너무 복잡해 보입니다.

답변

1

"세그먼트"로 데이터를 보내고 싶을 것 같습니다. 각 세그먼트에는 채널의 데이터와 바이트 수를 알려주는 헤더가 있습니다. 그렇게하면 단일 연결에서 다양한 채널의 데이터를 산재시킬 수 있습니다. 그게 도움이 되니?

+0

맞아요.하지만 채널을 동적으로 할당하고 모든 채널을 흐르게하는 흐름 제어를 포함하여 직접 구현하지 않는 것이 좋습니다. – user972014

관련 문제