我想写一个可以跟有公IP连接的聊天程序,用普通的局域网聊天程序是不行的,因为局域网里都有一个唯一的IP,比较简单,客户程序发送信息往指定IP发就可以了,服务程序收到信息后,也就收到了客户程序的IP地址,然后往这个地址回发信息就可以了;但是在互联网上就不同了,如果客户机在内网里,通过网关代理出去的,那么发送到服务IP端信息后,服务器收到的,只是网关的公IP,对服务器来说要对内网客户程序如何把信息成功发给它呢,如果只是向客户机的网关回发信息,那么它内里的客户程序就不一客收到,因为内网不只一台电脑,要成功寻找这台正确内网客户机呢,
局域的编程技术,拿到互联网上有大大的不同啊
局域的编程技术,拿到互联网上有大大的不同啊
解决方案 »
- EhLib_4.1.4 导出的EXCEL不能进行统计求和运算
- 一个简单而又基础的问题(浮点类型,最多能取几位小数位,如何设定一个变量的小数位数?)
- 用Dephi做做了一个数据库相关得程序,在xp下运行没有问题,但是在2000系统下发现运行不稳定,请问是什么原因?
- 急,如何把AOTUCAD phohoshop 等图片存入数据库?
- 怎样消除图片移动时的闪烁?
- 帮我看一下!
- 请问如何编程测试对方的操作系统是2000还是98?
- 装rxlib2.75时遇到的问题.
- 大家能不能帮我,说一说,is和as 是干什么的,在什么时候用它们,怎么用
- 收集delphi的函数api,自己制作api
- 高效的ListView数据添加?
- COM组件中如何定义接口的私有方法?(问题可能不是很清楚,看具体内容)
最简单的方法就是利用这台主机(充当服务器)转发.这样是最可靠的,但效率低,如果连接多了肯定会死慢.
再都就是用UDP hole punching技术进行NAT穿通.比较麻烦.QQ用的好像就是这种.
我在学校时用第一种方法做了一个仿QQ的聊天工具(功能上仿,但技术不一样人家用的是第二种),不过只能发文字.
这个程序就是在局域网里做的,拿到公网一样用.
等你明白NAT技术后就不会说局域网编程和公网完全不一样了,只是有些在公网上必须要的处理而在局域网里没必要用就能使用.可能你说的局域网是那种最简单的局域网,要是一个大的局域网(分多级的)操作起来和在公网是一样的.