TNMUDP发送数据后接收数据第一次不成功,以后都成功,为什么?
TNMUDP发送数据后接收数据第一次不成功,以后都成功,为什么?
代码如下:
NMUDP1->LocalPort = 2000;
NMUDP1->RemotePort = 2000;
NMUDP1->ReportLevel = Nmudp::Status_Basic;
void __fastcall TSetUDPForm::btnReadClick(TObject *Sender)
{
NMUDP1->RemoteHost = edtIP->Text.Trim();
// 发送数据
NMUDP1->SendBuffer(UDPsend_data, len, len);
}
第一次点击按钮,发送数据后对方收到数据,然后发送数据回来,这个程序收不到。
如果在点击按钮,发送数据后对方收到数据,然后发送数据回来,这个程序收得到,而且以后都是正常的。
为什么?
而且通过对方程序的测试,除了第一次发送数据过去,检测到的端口为2824,其他时候都为3638,可是我明明设置的本地端口号为2000,为什么呢?
[解决办法]
是不是没有启动监听?
[解决办法]
NM系列已被淘汰,新版本使用indy系列,使用NMUDP面临未来难以升级的局面
[解决办法]
直接用SOCKET的吧,简单一点。