广域网聊天的原理

来源:百度知道 编辑:UC知道 时间:2024/05/19 07:43:33
我建了一个局域网聊天室 用的是udp协议 我想把它弄成广域网的 但是 服务器往外转发给所有人 ip应该怎么写?qq是怎么弄的
我见过这篇啊 DarkGroup
我想问的是 服务器往外发送udp广播怎么写?
或者说 服务器怎么获得客户端的广域网ip

想把服务器地址往外转发给所有人,首先你自己的服务器要有广域网的IP地址,这样别人才能通过地址找到你的服务器。在运行中输入IPCONFIG在下面会出现你当前的广域网IP地址,但是这个地址每次重启后,都有可能会改变,建议你使用花生壳,可以随时更新你的IP。

TCP/IP协议用IP来确定数据传输到网络上的某一台计算机上面,用端口来确定将数据传输到计算机运行的某一个程序上。因此要进行网络通信重要的是确定通讯目的地的IP和端口。
网吧里面的计算机通过一台网关(网吧服务器)与外部网络相连,所有的数据都通过着台服务器传输,因此实际上有网吧内部的发出的数据包IP地址都是相同的。每台计算机的端口都通过网关进行了一次映射,比如你的QQ在本机开了4000端口,但是实际映射到网络上的可能是154321。外部的计算机要和你通讯只要和服务器的54321端口通讯就可以了,服务器会将数据包转发到内部网络。
我的语言表达能力不太好,怕大家看不懂。举个例子吧。网吧服务器的内部IP:10.0.0.1
另外还有两台计算机分别是10.0.0.11和10.0.0.12我们分别简称1号和2号。服务器通过ADSL与外界连接,外部ip是210.0.0.100。
我操作1号机用本地端口4000登陆QQ服务器,此时发出的数据源IP和源端口为10.0.0.11:4000,联接的请求被送到网关,网关将这个数据包做一下记录在映射表上然后将源信息映射成210.0.0.100:54321发给腾讯服务器。腾讯服务器收到这个请求后将其源信息记录下来并和QQ号相对应起来。同样的其他的网吧里的QQ用户也用相同的方式登陆从而将自己计算机在网络上的映射IP和端口号登记到了QQ服务器上。
打字好累,楼主一定要给我分啊……继续……
好了,假设这时另外一个网吧里我的好友上线了。腾讯服务器立即将我的好友在腾讯服务器上登记了的映射IP端口号发给我,这时腾讯服务器也是将这些信息发往我登陆时登记的映射地址210.0.0.100:54321。很明显这些信息是发给网吧的服务器了,网吧服务器收到这个数据包以后根据先前记