讨论C#编写QQ一样的程序!

2009年3月28日星期六

讨论C#编写QQ一样的程序!

NAT意思是Network address translation。对于局域网内机器,网关会给每台机器做一个端口映射。比如说,我的Ip是198.82.22.23,网关是198.82.22.1 。网关会给我分配一个端口比如32234,与外界通讯的时候,对外面来说我就是198.82.22.1::32234。这样对于两台均为局域网内部的机器,不可能直接进行通讯。这样需要有一个公网Ip的机器作为中介。设想一下,A 认识C,B认识C,A和B就可以通过C来认识。所有P2P软件,均需要服务器支持。qq也是一样,qq在服务器端保留一个Ip和端口的列表,向你提供你的好友的IP和端口。这样UDP就可以穿过网关。我们把这个叫做打洞。 ------------------------------------------------------------------------------------------ 事实上,qq这类软件,客户端并不是很困难,困难的是服务器集群以及动态负荷调整等等

0 评论:

发表评论