window 소켓 질문좀 드릴게요
지후
2023.04.01
질문 제목 : 소켓 통신간 궁금한게있어요클라이언트에서 서버로 접속하게 되면, 서로 채팅할때 서버가 recv로 클라이언트 send를 받으면
다시 서버에서 send로 보내게 되잖아요
질문 내용 :
while(1){
recv(~~~);
send(~~~);
} //server
while(1){
send(~~);
recv(~~);
} //client
이런식으로 보내개되면 채팅할때 주거니 받거니 통신이 되잖아요.
그런데 서버가 말하고 싶을때 쭉말하고 클라이언트가 말하고 싶을때 쭉 말하고
듣는건 계속 듣는 방법이 업을까요..
구체적인 설명좀 부탁드려요...
-
나길
thread로 말하는쪽/듣는쪽 구분해서 구현하기면 됩니다.
생각보단 쉬워요 검색 샘플만 갖다붙여도 되는?... -
승아
소켓은 기본적으로 양방향 통신이 가능하도록 구성되어 있습니다.
말씀하신대로 구현하시면 됩니다.
문제는 말하는 동시에도 들을 수 있어야 되는데,
그렇다면, 멀티스레드로 프로그램을 구성해야겠죠.
그리고 동시에 말하고 듣고를 구성하게 되면, 그만큼 프로그램이 복잡하게 됩니다.
채팅이라고 반드시 동시에 말하고 듣는 것은 아닙니다.
머리를 잘 쓰면, 그렇게 보이게도 만들 수 있죠. (물론 이렇게 하는 것도 쉬운 건 아닙니다.)