안녕 하세요..
네트웍에 대해서 조언을 구하고자 이렇게 글을 올립니다. .
현재 구현되어 있는 부분은
Client <--------------> Server
처음에는 TCP로 연결이 되어있습니다.
TCP로 연결되어 있는 소켓으로 하는 일은 접속(Login), 기본 데이터 전송
여기서, 하나더를 추가하고자 합니다.
그런데.. 문제가 TCP로 연결을 하느냐.. UDP로 연결을 하느냐 입니다.
여기서 보내고자 하는 데이터는 간단한 메시지들 입니다.
(
처음 TCP로 연결된 부분은 지속적으로 데이터 교환이 잇습니다..
여기서 이 메시지 데이터를 같이 보낼까도 생각 해봤는데요..
근데.. 워낙에 데이터 교환이 몇초마다 일어 나기 때문에.. 부하가 걱정이 되더군요.
그래서.. 소켓을 하나더 만들까 합니다.
)
이 소켓은 굳이 항시 연결이 될 필요가 없습니다.
그리고, 데이터 방향은 Server ----> Client로 전송이 됩니다.
Client가 잘 받았다는 메시지를 보낼 필요는 없습니다.. 뭐 보내두 상관은 없구요
처음에는 UDP로 연결해서 멀티캐스팅을 할까 했는데.
게시판에 글을 읽어 보니.. 멀티캐스트를 할 경우 라우터가 멀티캐스트를
지원하지 못할 경우 전달이 안될 수가 잇다는 군요. (제가 잘못 알고 있다면
수정해 주시구요.. 제가 생각하기엔.. 멀티캐스트로 전송하는게.. 젤루 좋을 듯
해서요..)
그래서.. 좀 망설여 지네요.. 그냥.. TCP로 연결을 할지.. 아니면.. UDP로
데이터를 전송할 수 있는 방법이 있는지..
서툰 글이지만 읽어 보시구요..
두번째 소켓은 TCP로 연결하면 좋을지 , UDP로 연결하면 좋을 지 조언 부탁드립니다.
물론. 사설 IP에서도 통신이 가능해야 겠죠. ^^
서버야. 고정IP를 사용한다지만요. Client야 사설 IP를 사용 하겠죠..
내부망이 아닌 외부망이라면 UDP 브로드캐스팅은 불가능하다고 생각하시면 됩니다.
L2/L3장비 자체에서 지원되는 기능이긴 하지만 외부망에서 그 기능을 활성화 시켜놓은 곳은 없습니다.
서버가 공인이고 클라이언트가 사설이면 서버에서 클라이언트로 UDP 통신도 안됩니다.
지금하신 TCP통신이 가장 좋은 방법이라고 생각되네요
^^ 항상 즐코하세요...