怎么用socket传送复杂结构体
展开全部
将结构体转换成char*然后再发送。注意服务端的结构体和客户端结构体要严格一致。
定长的简单,直接转成char*搞定。
如果结构体是变长的,要用到一些trick。
最简单的就是零长度的数组。
struct test
{
int aint;
char buff[0];
}
分配内存的时候 test pTest = new(sizeof(test) + n);
然后发送的长度就是 sizeof(test) + n
然后转换成char *发送过去就是了。
定长的简单,直接转成char*搞定。
如果结构体是变长的,要用到一些trick。
最简单的就是零长度的数组。
struct test
{
int aint;
char buff[0];
}
分配内存的时候 test pTest = new(sizeof(test) + n);
然后发送的长度就是 sizeof(test) + n
然后转换成char *发送过去就是了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询