如何在线程中使用TNMUDP的OnDataReceived事件接收数据?100分求解决方案,多谢! (100分)

L

leeyi

Unregistered / Unconfirmed
GUEST, unregistred user!
我正在做一个系统,希望有关UDP的操作全部在线程里进行,以提高系统处理速度。
但是,我不知道在没有界面的情况下,如何使用TNMUDP的事件。
我用的C++Builder,不过应该和Delphi没什么区别。
我已经做了 TNMUDP* udp = new TNMUDP(Application); 并可以在线程中发数据,
请问如何接收?
 
既然创建了TNMUPD了当然他的相映的UDPDataReceived()事件也应该有了呀,
管它截面什么事,只是一个显示出,一个没显示的,是一样的吧。
 
不一样。事件是有,但是你如何向事件中添代码?
其实我觉得这相当于自己写事件。
 
写一个函数,使事件名称=函数名称
 
试过,但是参数如何取?你说的情况对参数是this或者是application等的有用。
OnDataReceieved中,FromIP等参数,无法取到。
 
FROMIP等参数是可以取得的
就是相当于你不用控件,全用API函数也可以取得FROMIP
VC里的函数 :
CAsyncSocket::ReceiveFrom(void* lpBuf, int nBufLen, CString& rSocketAddress,
UINT& rSocketPort, int nFlags = 0)
你把重写下,其中
CString& rSocketAddress,
UINT& rSocketPort就是IP,和PORT,
 
顶部