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