보충하면
보통
받은 데이테를 sizeof로 계산한다음 문자열에 복사합니다.
그리고 나서 포인터로 받은 sizeof만큼 뒤로 이동시켜
마지막에 ' '문자를 추가해줍니다.
ps- 쓰고보니 똑같은 말이군요. :)
: 제가 봤을땐, socket s
end buffer 때문이 아니라 문자열끝에 ' ' 이 추가가
: 안되어서 그런거 같은데요. 패킷으로 보
내게 되면 문자열로 취급안되고
: 바이너리처럼 전송되기때문에 전송된 데이타끝에 널값
이 들어가지 않죠.
: 서버에서 recv()로 받기전에 버퍼를 bzero()나 memset()으로 널값으로
: 초기
화 시켜준다음에 받아보세요.
:
: memset(0x00, buffer, sizeof(buffer)); //맞나..?
:
: ps. 아 그리고 so
cket send buffer 라는건 처음 들어봅니다 ^^
: Queue 를 말씀하시는건가?
:
: : 서버쪽에는 받는
것만있습니다.즉
: : while(1){
: : recv();
: : printf(받은메세지);
: : }
: :
: : 이런식이구요
:
: 클라이언트는 보내는것만있는데요
: :
: : for(10번반복){
: : send(msg);
: : }
: :
: : 이렇게
: 하면 서버쪽에서 받은 메세지에 대한 출력을
: : msg
: : msg
: : msg
: : msg
: : ...
: : 이런식으로 나와야 하는데
: : msgmsgmsgmsgmsgmsgmsg... 이런식으로 한번에 나와버립니다.
: : 아마 클라이언트에서 send 할때 socket send buffer 때문인거 같은데요
: : 이거
: : msg
: : msg
: : msg
: : msg
: : ...
: : 이런식으로 서버가 각각 받을려면 어떻게 처리 해줘야하나요?
: :
: : --
: : water--함 즐겨보자.