소켓관련해서 질문 올려봅니다.. (__)
세여닝
소켓통신을 이용한 프로그램을 작성중인데..일종의 관리프로그램정도..
궁금한것은..
포트를 1개만 사용하여서 서버와 클라이언트간에 통신하는것과
여러개(좀 많이)의 포트를 사용하는것이 어떤 차이가 있는지 알고 싶습니다..
포트 1개 사용
A기능 A관련
B기능 B관련
C기능 C관련
D기능 D관련
E기능 E관련
F기능 F관련
G기능... -------- port 1개 ------------ G관련 포트 여러개 사용
A기능-------- A port------------ A관련
B기능-------- B port ------------ B관련
C기능-------- C port------------C관련
D기능-------- D port------------ D관련
E기능-------- E port------------ E관련
F기능-------- F port ------------F관련
G기능... -------- G port ------------ G관련
대충 이런식으로 그림(?)을 그려보았는데..
만약 성능상 차이가 없다면 여러개로 나누는것이 일단 코딩하기는 편해보이긴 하는데..
어떤 차이가 있을런지요..
너무 아는게 없으면 궁금한것도 별로 생기지 않듯이 질문이 좀 허접하더라도 배우는 초보를 위해서 한마디 던져주시기 바랍니다(__)
-
애교 2025-02-17
샤가님 말씀처럼 업무별로 구분이 가능하게 전문을 구성하여 하나의 포트를 사용하여 통신하는 것이 일반적인 방법인걸로 알고 있습니다. 여러 포트를 사용할 시에 관리상 및 기타 여러 문제 발생 소지가 있습니다. 찬님의 말씀도 해당되구요.. ^^
-
은아 2025-02-17
저도 같은 생각 이네요.. 자기만의 프로토콜을 구성해서 보내는것두 나쁘지 않다고 생각을 하게 됩니다.. 위의 경우 처럼 A,B,C....G의 기능이라면 A기능일때는 패킷의 처음 부분에 A를 , B의 기능이라면 패킷의 처음 부분에 B를 넣어서 구분만 지어 주면 그리 어렵지 않을것 같은데요~
-
딥보라 2025-02-17
큰 트래픽이 있지 않는 이상. 하나의 포트만 쓰는게 어떨까 싶습니다.
포트를 여러개 열려고 할때, 만약 그 포트가 사용중이라면.. 거기에 대한 처리도 해 주어야 하고..
서버소켓 객체 역시 여러개 만들어야 겠네요..
각기 서로 연관없는 기능끼리의 포트라면 분리해도 되겠지만..
연동이 되어야 한다면.. 하나의 포트가 사용할 수 없게 되면..
나머지는 있으나 마나 무용지물이 되겠네요..
( 그것을 체크하는것 역시 어려울 수 있고.. )