远程控制之消息机制调试

远程控制之消息机制下的网络调试:

1 首先做的是打通网络,服务端和客户端之间的网络

2 使用的是_beginthreadex() ,PostThreadMessage()和GetMessage()

3 在这里有一个问题,也就是说如果postmsg的时候getmsg没有执行起来,那么postmag返回的是错误,就是投递消息失败

4 而这也和线程有关系,因为我走的是线程之间的消息,所以线程也必须先启动

5 所以说就在构造的时候就启动线程,配合着事件使用,启动线程之前创建事件,启动线程之后等待回应,完成之后释放资源

m_eventInvoke = CreateEvent(NULL, TRUE, FALSE, NULL);

​ m_hThread = (HANDLE)_beginthreadex(NULL, 0, &CClientSocket::threadEntry, this, 0, &m_ThreadID);

​ if (WaitForSingleObject(m_eventInvoke, 100) == WAIT_TIMEOUT)

​ {

​ TRACE(“网络消息处理线程启动失败!!\r\n”);

​ }

​ CloseHandle(m_eventInvoke);

远程控制之消息机制下的图像显示调试:

1 因为图像的显示是根据服务端发过来的截图,在客户端上连续的显示图片,在视觉上达到视频的效果2

2 所以在线程上频繁的显示图像(也就是帧数的问题),可能就会导致其他线程的效率下降,导致的结果就是应用卡顿

3 为了避免这种现象,设置50ms的延时,降低带宽的消耗

内存泄漏问题:

1 数据没有处理完也会导致内存泄漏

2 因为在此程序中,客户端向服务端发消息,然后服务端响应,又因为有延时,当客户端提前关闭了正在处理的线程,然后就会导致泄漏,也就是对话框关闭以后

远程控制之消息机制下的文件树型显示调试:

1 文件显示时,当插入文件名的时候没有显示出来,考虑缺少m_Tree.Expand()

2 也就说想要展开,将获得的文件名称展示出来,可以说这是一个windows mfc中的一个问题

3 这个问题一般来说是很难复现的,如果不去调用展开函数,它就会认为没有值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值