社区
VCL组件使用和开发
帖子详情
关于 MNUDP 控件接受数据的问题 !
大大怪老张
2002-12-17 07:08:19
大家知道 MNUDP 控件的OnRecived 事件会在该控件收到数据的时候触发。
我想问的是如果第一个数据到达,触发了该事件,执行事件下的代码,但代码没执行完(或者操作没完成,比如写文件)的话又收到数据,这个时候mnudp会如何处理?
...全文
27
8
打赏
收藏
关于 MNUDP 控件接受数据的问题 !
大家知道 MNUDP 控件的OnRecived 事件会在该控件收到数据的时候触发。 我想问的是如果第一个数据到达,触发了该事件,执行事件下的代码,但代码没执行完(或者操作没完成,比如写文件)的话又收到数据,这个时候mnudp会如何处理?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大大怪老张
2002-12-18
打赏
举报
回复
呵呵,这是个好方法。我再考虑考虑。
copy_paste
2002-12-18
打赏
举报
回复
哦,INDY那里有个组件,不记得是什么了,它是在线程进行与其它进行交互的,如果有数据来的话,就TThread::Synchronize(DoRead); DoRead是一个调用组件事件方式,这样就形成同步了,完成后又进入线程。。。
大大怪老张
2002-12-18
打赏
举报
回复
我用fastnet是没办法。。。呀。 可怜。
大大怪老张
2002-12-18
打赏
举报
回复
不过FASTNET的没源码看,我也不清楚它是多线程接收数据,或是什么,以前看了段INDY的程序,它接收数据时是使用同步的方法来处理接收事件的,所以我想FASTNET不会太笨吧,应该不会出现你的事。
这里面提到indy接受数据时是同步的,能否再解释一下如何同步?
copy_paste
2002-12-18
打赏
举报
回复
怎么到处问,hoho,来捞分啦。
如果是基于事件编程的话,那么基本上的VCL组件都是消息驱动,或者说是线程同步,所以当你代码没执行完,是不可能有其它事件会触发执行的,所以不用考虑。
不过FASTNET的没源码看,我也不清楚它是多线程接收数据,或是什么,以前看了段INDY的程序,它接收数据时是使用同步的方法来处理接收事件的,所以我想FASTNET不会太笨吧,应该不会出现你的事。
UDP的接收缓冲不太清楚是多少,TCP的是8K,可以通过WinSock::setsockopt进行调节吧。
这年头不建议使用FASTNET的东东,没源码,想帮你看看都没法子,用INDY吧,找空心菜就行了,呵呵
大大怪老张
2002-12-18
打赏
举报
回复
我测试了一下,发现不会丢失数据(至少在某个范围内不会)。
是这样:
我在onrecived事件里设了断点,然后我发送数据,当udp收到数据后,程序停在断点处,而我继续发数据(数据<2048, 次数<10),然后 f8继续执行刚才中断的程序,发现udp触发onrecived的次数跟我发送的次数是一样的。
我想这可能是udp的数据缓冲区在起作用。这个数据缓冲区有多大?
大大怪老张
2002-12-17
打赏
举报
回复
怎么避免呢?
我记得以前有人说过,说upd自己有个缓冲区,可以保存接收到但未来得及处理的数据,是否有这回事? 如果有的话该如何利用,比如把它设大点。
NowCan
2002-12-17
打赏
举报
回复
可能会丢失
C#
控件
大全
1、
数据
显示
控件
2、
数据
绑定和
数据
定位
控件
3、文本编辑
控件
4、信息显示
控件
5、网页显示
控件
6、从列表中选择
控件
7、图形显示
控件
8、图形存储
控件
9、值的设置
控件
10、
数据
的设置
控件
11、对话框
控件
12、菜单...
C#自己绘制的QQ好友列表
控件
详细介绍 看些的博客 http://blog.csdn.net/crystal_lz/article/details/8170491 顺便希望有人能解决一下博客中提到的TypeConverter的
问题
!、、
高级
数据
操纵
控件
Pandas的使用
Pandas是一款用于
数据
采集、
数据
处理和
数据
分析的可编程的利器,比电子表格功能更加强大,使用更加灵活,是进行
数据
分析与
数据
挖掘所依赖的重要工具。本课程将主要讲述Pandas的常用使用方法,授课内容包括:
数据
...
C#写的串口16进制收发程序(源码).rar
利用串口
控件
实现的16进制收发通讯程序:收到的
数据
以16进制显示,发送
数据
以16进制形式发送。
MFC中关于
控件
变量的使用!
在MFC中我们常常要把一些变量于
控件
对应起来! 并通过UpdateDate来实调用DoDataExchange(CDataExchange* pDX)实现变量信息交换!如:DDX_Text(pDX, IDC_STATICCOUNT, m_sCount); --> value对应把
控件
ID为IDC_...
VCL组件使用和开发
604
社区成员
13,460
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章