局域网通性和外网通信程序有什么不同 ( 积分: 50 )

  • 主题发起人 主题发起人 sunjunfeng3
  • 开始时间 开始时间
S

sunjunfeng3

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写一个可以跟有公IP连接的聊天程序,用普通的局域网聊天程序是不行的,因为局域网里都有一个唯一的IP,比较简单,客户程序发送信息往指定IP发就可以了,服务程序收到信息后,也就收到了客户程序的IP地址,然后往这个地址回发信息就可以了;但是在互联网上就不同了,如果客户机在内网里,通过网关代理出去的,那么发送到服务IP端信息后,服务器收到的,只是网关的公IP,对服务器来说要对内网客户程序如何把信息成功发给它呢,如果只是向客户机的网关回发信息,那么它内里的客户程序就不一客收到,因为内网不只一台电脑,要成功寻找这台正确内网客户机呢,
局域的编程技术,拿到互联网上有大大的不同啊
 
我想写一个可以跟有公IP连接的聊天程序,用普通的局域网聊天程序是不行的,因为局域网里都有一个唯一的IP,比较简单,客户程序发送信息往指定IP发就可以了,服务程序收到信息后,也就收到了客户程序的IP地址,然后往这个地址回发信息就可以了;但是在互联网上就不同了,如果客户机在内网里,通过网关代理出去的,那么发送到服务IP端信息后,服务器收到的,只是网关的公IP,对服务器来说要对内网客户程序如何把信息成功发给它呢,如果只是向客户机的网关回发信息,那么它内里的客户程序就不一客收到,因为内网不只一台电脑,要成功寻找这台正确内网客户机呢,
局域的编程技术,拿到互联网上有大大的不同啊
 
看不出LZ想表达什么。
 
好像是没有关系的,因为代理会把信息返回给你的。它会记得是哪一个内网的机器的。
如ping www.yahoo.com.cn
你会得到回答的。
这是我的理解,并没有做过这样的程序。
 
没有人理解
 
你自己在这里想当然。。。
如果你用tcp协议,当client与server建立连接后,server到client的信息可以直接用这个连接发回来,根本不用管client的ip和port。
如果你用udp协议,当client向server发送数据后,server到client的信息可以直接发向client的这个ip和port,局域网的NAT可以自动帮你转发到内网上的那台机器。

推荐一篇文章给你《p2p的原理与实现》。
 
后退
顶部