idudpclient和idudpserver公网实现?
网上找了很多资料,知道关于打洞的实现,但是一直不能实现,原因在于,我在自己的电脑上,连公网的服务器都连接不了,所以想和大家请教一下。
- Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);begin IdUdpClient1.Send('60.178.221.205',10056,'Test');end;procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes; ABinding: TIdSocketHandle);var StrStream:TStringStream;begin StrStream:=TStringStream.Create(''); StrStream.WriteBuffer(AData[0],High(AData)+1); StrStream.Position:=0; Memo1.Lines.Add(StrStream.DataString);end;高手请帮我看看,我是在我的电脑和服务器上分别运行这个程序,当然内网已经测试,肯定没问题了。就是不知道为什么公网没有反应,是不是我写的代码不对或者我的思路根本就不对(直接用公网IP连接是连不了的),请高手们赐教,先谢谢了。
[解决办法]
放服务端的机器用的是公网IP
还是机器在路由下面?要是在路由下面还要映射端口吧
[解决办法]
QQ可以设置不通过服务器中转的,如果在同一局域网的话,这样传文件会更快
[解决办法]
有P2P,P2SP,P2S 现在一般就是这几种
讯雷好象是P2SP