一、把不同类型的数据都拷到内存。比如:
在发送端:
int i=999;
char szBuf[1024] = {0};
char *szInput = "just like this. ";
memcpy(szBuf, &i, sizeof(int));
memcpy(szBuf + sizeof(int), szInput, strlen(szInput));
send(socket, szBuf, sizeof(int) + strlen(szInput), 0);
在接收端:
char szBuf[1024] = {0};
char szTmp[20] = {0}
recv(socket, szBuf, sizeof(szBuf));
int i;
memcpy(szTmp, szBuf, sizeof(int));
i = (int)szTmp;
其他的比如结构之类的任何数据都可以类似这样传送。
二、传结构体
send()发送的是一段内存里的数据,至于数据是什么类型的没关系。明白了这一点,就知道该怎样发送结构了!
struct EsDemp
{
char szDemo[256];
int i;
}
EsDemo demo;
demo.i =0;
strcpy(demo.szDemo, "hehe ");
send(ssock, (char*)&demo, sizeof(EsDemo), 0);
发表评论 评论 (0 个评论)