如何使用TIdUDPClient和TIdUDPServer实现在不同局域网内互发消息?delphi7下是否可以使用TNMUDP?急!(50分)

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

chidle

Unregistered / Unconfirmed
GUEST, unregistred user!
由于TIdUDPClient的发送端口和TIdUDPServer的接收端口不一样,我如何才能用TIdUDPClient和TIdUDPServer实现在不同局域网内互发消息?望精通如何使用TIdUDPClient和TIdUDPServer的高手赐教。另外,在delphi7下是否可以使用原delphi6下TNMUDP控件?
 
我用TIDUDP 和 NMUDP 做过局域网通讯的例子。请说清楚点什么叫不同局域网?不是在同一个局域网吗?[?]
请问
1.用TIDUDP 在XP下为什么报这个错‘’Socket Error #10013 Access denied ‘’
而在2000 和 98 下正常[?]
2.用NMUDP 在XP下为什么报 TMemoryString write error
而在2000 和 98 下也正常[?]

 
D7可以,但是应该加库。
 
to goeasy:
加那个库?我安装了TNMUDP后,报错:“没有注册类别”。
 
你想用UDP开个端口,在这一个端口上收发呀,可以这样呀,只用IdUdpServer就可以了嘛
接收可以在ONUDPREAD里面用
UDPServerUDPRead(Sender: TObject; AData: TStream;ABinding: TIdSocketHandle);
var
buffer:Pansichar;
BEGIN
Getmem(buffer,Adata.size);
AData.Read(buffer^,adata.Size);
............
Freemem(Buffer);
END;

发送的话用UDPSERVER.SendBuffer('192.168.0.1',12345,buffer^,1024);
 
后退
顶部