作者Racci (Another Day...)
看板LinuxDev
標題[問題] socket recv buffer
時間Thu Sep 13 15:38:49 2007
想請大家幫忙看一小段unix socket程式
nLen =
recv(rsock, szReadBuffer, sizeof(szReadBuffer), 0);
if ( nLen > 0)
{
printf("Client Request: %s \r\n",
szReadBuffer);
szReadBuffer[nLen] = '\0';
}
else
{
printf("Recv Error");
}
我利用recv來收client端所送來的資料
nLen是5
但在printf時 szReadBuffer卻沒有顯示任何東西 只顯示
Client Request:
想請問有人知道這是為什麼嗎?
ps. 此為server端的程式, 在unix環境下執行
client是用java 在windows下面執行的
先謝謝大家!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 75.6.237.125
※ 編輯: Racci 來自: 75.6.237.125 (09/13 15:39)
推 seansnow:收到空白嗎?妳可以用strlen(szReadBuffer)來check看看 09/13 16:13
→ Racci:我用strlen長度是5 剛剛用for loop一個一個印出來 09/13 16:16
→ Racci:不過是亂碼, 剛剛網路上查, 好像是要用flush, 可是關於flush 09/13 16:17
→ Racci:的sample code好少 有哪位可以指導一下嗎? 感激不盡!! 09/13 16:18
→ threecia:試試memset? 09/14 11:03
→ origo:strlen回5表示收到的5個字元都不是0x00,那印不出來還真怪,哈 09/14 18:35
推 Racci:我有先做memset了說 我後來有一個字元一個字元印出來 09/15 14:27
→ Racci:前兩各是亂碼 後面三位是我的資料 很奇怪 找不到原因 09/15 14:28
→ Racci:有朋友說可以試試flush, 有人用過flush嗎 搞不懂要怎麼用 09/15 14:28