关于Indy的UDP组件使用有关问题(感激不尽)
关于Indy的UDP组件使用问题(感激不尽)
最近小弟刚开始接触Indy的UDP组件,目标是和同事用VB写的一个收/发端 进行通信。
以下是发送和接受的代码:
C++ code
IdUDPClient已经绑定了本地IP,port口为1002,Server的port口为1001;对方的port口跟我的相反。
只接受或者只发送是没有问题的,只有在发送数据后就无法接受数据了。
即是说当我运行软件后如果一条不发送只接受就没问题,只要我一发送给对方信息,我就再也收不到信息了(但依然可以发送)。
------解决方案--------------------
发送和接受分别在两台电脑上运行
------解决方案--------------------
发送后查一下UDP组件的ip和port看是不是变了。
------解决方案--------------------
接收要一个线程一直盯着,是不是没开线程?
最近小弟刚开始接触Indy的UDP组件,目标是和同事用VB写的一个收/发端 进行通信。
以下是发送和接受的代码:
C++ code
void __fastcall TForm2::Button2Click(TObject *Sender)
{ //C是TIdUDPClient的名字
C->Send(Edit1->Text,TEncoding::Default);
}
void __fastcall TForm2::SUDPRead(TIdUDPListenerThread *AThread, TBytes AData, TIdSocketHandle *ABinding)
{ //S是TIdUDPServer的名字
RichEdit1->Lines->Add("本机发来消息:"+BytesToString(AData,TEncoding::Default));
}
IdUDPClient已经绑定了本地IP,port口为1002,Server的port口为1001;对方的port口跟我的相反。
只接受或者只发送是没有问题的,只有在发送数据后就无法接受数据了。
即是说当我运行软件后如果一条不发送只接受就没问题,只要我一发送给对方信息,我就再也收不到信息了(但依然可以发送)。
------解决方案--------------------
发送和接受分别在两台电脑上运行
------解决方案--------------------
发送后查一下UDP组件的ip和port看是不是变了。
------解决方案--------------------
接收要一个线程一直盯着,是不是没开线程?