永发信息网

C++ socket传送和接收结构体问题,求大神帮忙

答案:3  悬赏:30  手机版
解决时间 2021-01-15 00:52
C++ socket传送和接收结构体问题,求大神帮忙
最佳答案
在服务端也要定义这样的结构体
结构体:
struct SendPackage
{
char opcode[32];
char SendMessage[1024];
char ReturnMessage[1024];
char ReturnCode[2];
} ;
然后:
ReceiveLen=recv(p_NewSocket, // 新的套接字句柄
p_ReceiveBuffer, // 接收套接字的缓冲区
sizeof(struct SendPackage) , // 缓冲区的大小
0);
struct SendPackage *p_stu = (struct SendPackage*)p_ReceiveBuffer ;
cout << "sbusid=" << p_stu->SendMessage ;

但是看你前面的程序,好象有点问题吧:
strcpy(subs.p_subsid,"123456");//subs是CSubscriber的对象。
strcpy(SendBi.SendMessage,(char*)&subs); //肿么能将一个CSubscriber的对象拷贝到一个字符数组中去呢?
全部回答
int SendLength = send(p_ClientSocket,
(char*)&SendBi,
sizeof(SendPackage),
0);
(char*)&SendBi, 换为subs.p_subsid,大小换位 sizeof(subs.p_subsid)追问说白了,我是要传结构体而后去解析结构体。不是想传单纯的值
发送者: 把结构体对象 通过 序列化 变成二进制缓存,然后 传输这个缓存。
接受者: 把接受二进制缓存 通过序列化 再组建成结构体对象
这个是现在最通用的标准
建议你使用下boost::serialization
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
问一下各位那个孔雀和凤凰和朱雀有什么区别感
玩LOLFPS60~70左右的显卡多少钱一张,求大神
我上胸围115下胸围95是要穿多少啊?以前都乱
3x(x-1)=x(x+5)求过程
马桶为什么要有马桶圈
单选题Idon’tunderstandwhatyou’retalkinga
老婆说老公恶心什么意思
8.47-5.8+0.53的简便人运算是什么?
木芙良做法是什么?功效怎么样?
sin105度的平方减cos105度的平方等于?
含义有土有水男孩子的名字,两个字有哪些
女主很强的一部动漫
阅读下面的短文,并根据短文后面的要求答题 (
宝铂手表和肖邦表哪个好
建设银行信用卡怎么有两张
推荐资讯
直径4毫米深70毫米的孔,在加工中心上面钻,
从二七广场到陈寨站怎么坐公交车,最快需要多
项目实施阶段包括哪些内容
晋城二十八路车都经过哪
当车间遇火警时如何处理
It would be just done if someone cares.请
娃娃专业儿童摄影怎么去啊,我要去那办事
在中国5月1号开可以用北斗地图导航吗?
影驰 GT430 DDR5 1G 真的很差吗?
我的google play服务怎么不能开启了
合肥226路最新的公交路线是什么?我要从火车
2(x-1)²-32=0 求解,谢了
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?