- 论坛徽章:
- 0
|
例如我send()发送的数据时12$13$14$15$16$17$,recv()接收到后怎么对缓冲区数据处理,使数据以12 13 14 15 16 17 输出,即遇到字符$就换行,或者加一个空格结束,数据比较多。希望算法详细点,最好代码给全,可以运行。请大侠指教,谢谢
谢谢,请帮忙补充一下代码,谢谢我是新手,大侠
//接收数据,在文本框显示代码
UINT recv_thd(LPVOID p)
{
int res;
//char msg[1024];
CString s;
CMfc_clientDlg * dlg = (CMfc_clientDlg *) AfxGetApp()->GetMainWnd();
dlg->update("in thd");
while(1)
{
if( (res = recv(sock, msg, 1024*300, 0)) == -1)//返回说明: 成功执行时,返回接收到的字节数
{ //该函数的第一个参数指定接收端套接字描述符; 第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;
//第三个参数指明buf的长度; 第四个参数一般置0。
dlg->update("失去连接");
break;
}
else
{
msg[res] = '\0';//接收到的字节数,结束字符串\0
dlg->update("server:" +CString(msg));
//
}
}
//closesocket(sock);
return 0;
} |
|