c언어 TCP/IP 다중접속에서 한쪽클라이언트가 입력할동안 다른 클라이언트가 대기하는 방법이 있을까요?

조회수 1473회

한개의 서버에 두개의 서로다른 소켓(클라이언트)가 접속해 있는상황입니다.

한쪽에서 메시지를 보내면 서버가 그걸 받아서 다른쪽 클라이언트에 전해지는 상황을 만들고 싶습니다.

한쪽에서 안보내면 다른쪽클라이언트에서는 대기를 하구요..

허접한 제 코드를 보자면

server

recv(socket1,msg);//매개변수는 생략하겠습니다.

send(socket2,msg); send(socket1,msg);

client 1(socket1)

send(msg);

recv(msg);

client2(socket2)// 같은 프로젝트를 공유하나 분기로 나누어 놨습니다.

//wait -> 이부분에서 대기를 하지않고 다음 리시브값을 엄한것으로 받아 놓더군요.

recv(msg);

다시 말씀드리자면 한쪽 클라이언트가 일을 마칠때까지 다른 클라이언트에서 대기를 하도록 하는 코드나 함수가 있을까요?? 정말 궁금합니다. 제가 생각하기엔 recv함수가 호출되고 적당한 메시지가 보내지지않으면 recv함수는 대기상태로 있는걸로 생각했습니다. 그런데 어디서 데이터를 받아서 오더라구요;;

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)