作者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)
1F:推 seansnow:收到空白吗?你可以用strlen(szReadBuffer)来check看看 09/13 16:13
2F:→ Racci:我用strlen长度是5 刚刚用for loop一个一个印出来 09/13 16:16
3F:→ Racci:不过是乱码, 刚刚网路上查, 好像是要用flush, 可是关於flush 09/13 16:17
4F:→ Racci:的sample code好少 有哪位可以指导一下吗? 感激不尽!! 09/13 16:18
5F:→ threecia:试试memset? 09/14 11:03
6F:→ origo:strlen回5表示收到的5个字元都不是0x00,那印不出来还真怪,哈 09/14 18:35
7F:推 Racci:我有先做memset了说 我後来有一个字元一个字元印出来 09/15 14:27
8F:→ Racci:前两各是乱码 後面三位是我的资料 很奇怪 找不到原因 09/15 14:28
9F:→ Racci:有朋友说可以试试flush, 有人用过flush吗 搞不懂要怎麽用 09/15 14:28