关于UDP 通讯的问题(70分)

  • 主题发起人 主题发起人 浮生
  • 开始时间 开始时间

浮生

Unregistered / Unconfirmed
GUEST, unregistred user!
我用UDP进行B类网广播通讯(如202.118.255.255,我所在的局域网)
但编译时出现如下错误,小弟不解
Project Project1.exe raised exception class UDPSockError with message'Host Lookup Canceled';
Process stopped.
UDP 设置为
NMUDP1.ReportLevel:=Status_Basic;
NMUDP1.RemoteHost:=netaddr+'255.255';(netaddr为网段地址202.118.)
NMUDP1.RemotePort:=4546;
MyStream:=TMemoryStream.Create;
lth:=length(tmpstr);
try
MyStream.Write(TmpStr[1],lth);
NMUDP1.SendStream(MyStream);
finally
MyStream.Free;
end;
恳请大家释疑,谢谢。
 
udp广播是不能跨路由的。
 
TO 吹成大富翁
但是当我把UDP通讯部分分离出来另做一个局域网简单短讯时却可以进行***.***.255.255,B类广播
 
NMUDP1.RemoteHost:=netaddr+'255.255';(netaddr为网段地址202.118.)

这之后的RemoteHost是不是为:202.118255.255 ?
中间可能差了个小数点,所以才会报告解析主机名称错
 
如果UDP可以跨路由广播,肯定会引起信息风暴。因为任何知道UDP协议的人都能轻松的广播
自己的信息。所以当这些广播信息通过路由器时会被丢弃。至于你刚才说在一个局域网中可
以进行B类广播本来就可以的。当一个网络中有不止一台路由器时。就不能进行全网广播了。
 
多人接受答案了。
 
后退
顶部