首页
社区
课程
招聘
[求助]CSock 加 序列化实现网络通讯,程序退出前发送一条消息,导致序列化输出失败
2014-7-30 14:32 3170

[求助]CSock 加 序列化实现网络通讯,程序退出前发送一条消息,导致序列化输出失败

2014-7-30 14:32
3170
程序是MFC写的。
程序A退出的时,我会发送一个消息给程序B,消息用CSock + 序列化 实现。
两个程序正常运行的时候,用这种方法发送消息没问题。
可在退出时发送消息,会出现问题,我分析是TCP的确认机制导致的。
A发送完消息,直接退出了。
B接收到消息,需要通过序列化反馈接收结果,结果没人接收,序列化失败。

有什么办法,能让A退出之前,后台停留几秒么?
我试过sleep函数,没用。

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
免费 0
打赏
分享
最新回复 (3)
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DinoStray 2014-7-30 14:45
2
0
我想到了用Timer阻拦退出的事件,哪个事件能阻拦退出呢?
雪    币: 2075
活跃值: (645)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
sidyhe 1 2014-7-30 14:53
3
0
等socket的缓冲区空了再退出程序应该可以吧
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DinoStray 2014-7-30 16:37
4
0
问题已经找到了,我最后一个消息发出,立马delete了本机的socke,delete和最后一个消息有个延迟就OK 了
游客
登录 | 注册 方可回帖
返回