这个想法可以实现吗? 只有这么点分了。 **********在线等待*************(100分)

  • 主题发起人 主题发起人 coolingxyz
  • 开始时间 开始时间
C

coolingxyz

Unregistered / Unconfirmed
GUEST, unregistred user!
我原来的程序是把udp数据发送和接收放在主线程里的。我总觉得这样的话,
主线程还是不够灵活。
可以看:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1230616
如果我要把udp数据发送和接收放在一个线程里,要怎么做呢。
要实现的功能:负责udp的线程,每隔一分钟发一个广播包,同时还要能响应
用户特殊的要求发送数据包,其他时间则不停监听是否有信息到达,如果到
达,就把数据放入缓冲中,并呼叫数据处理线程来处理。
问题是:负责udp的线程的 Execute 怎么来写。能让它不听的监听同时还要响
应用户消息,并每隔一段时间发送数据。
谢谢大家。分可以再加的。
 
我还有100分可用分呀。要不再加给大家好了,请大家一定帮忙呀。
 
这个问题很难还是我问的太没有水准呀?
我是真的不知道怎么写了。请大家给点思
路,代码我自己写。
 
我也加分
 
我原来的做法是主窗体上放一个udp的控件,一个timer控件,定义了一个缓冲数组。
每一分钟发一个广播包,当有数据到达时马上标志一个可写的数组单元为正在写,
把数据放到数组中,标志这个数组单元为可读,其他时间响应用户操作。
后台一个线程则不停的从头到尾扫描这个数组,如果有可读的单元,标志为正在读,
然后处理,处理完后标志为可写。继续扫描其他数组单元。
但我觉得主程序要处理的事件还是太多了,响应用户操作可能有影响。所以请大家
指点一下呀。
 
我的想法是编底层,用消息或事件来触发
 
说来听听。
线程之间怎么发消息?我不知道呀。
 
如果你要用线程,还不如用一个线程来处理发送任务,另一个线程来处理接收任务.
 
那这个udp控件 怎么来协调呢?
发送的线程好办,发送完了就挂起。可以在主程序里来控制一定时间唤醒。
但接收的线程的 Execute 怎么写才能让它一直在监听呢?
请指点。
 
处理udp控件的ondatareceived事件,如果有数据过来就创建一个接收线程去处理,处理完后终止。
 
多人接受答案了。
 
后退
顶部