一个服务器, 多个客户端,
我的想法是,在客户端与客户端视频或传文件时不通过服务器中转,该怎么搞,
如果要客户端与客户端连接的话,内网的话就有问题了。
问题就是 两个客户端怎么相互建立连接,假如我两个客户端在两个不同的网吧,怎么去建立连接,像普通的ServerSocket监听的话,另一端知道IP和端口也连不上。
我的想法是,在客户端与客户端视频或传文件时不通过服务器中转,该怎么搞,
如果要客户端与客户端连接的话,内网的话就有问题了。
问题就是 两个客户端怎么相互建立连接,假如我两个客户端在两个不同的网吧,怎么去建立连接,像普通的ServerSocket监听的话,另一端知道IP和端口也连不上。
解决方案 »
- String str = [折扣] > 10 and [优惠] > 20 怎么取出所有[]中的所有数据啊,就是取得折扣、优惠
- [求助] 请详细比较下replace() 和 replaceAll() 吧, 真的很不理解。
- 使用 hibernate 时为什么要进行关系映射。
- 读大txt文件,写入数据库.提高速度的办法.
- 高手解答:数据文件如何分页?
- 帮个忙,看看有关RMI的这几个短语该怎么翻译?
- 老菜问下线程类的问题
- 请各位大侠赐教-对数据库操作的问题
- 一道面试题
- 急-谁能告诉我IE,支持jdk的版本是多少?为什么Enumeration 不能用?
- 生产者消费者问题的小疑问
- 【求助】关于jar文件无法执行的问题
楼主也可以自己实现一个协议.
服务器的作用只是提供链接目标信息即可.简单的P2P实现起来并不困难,无外乎是那种广播,多播技术而已.然后就是考虑使用的协议. TCP,UDP. 具体选哪个看楼主对数据的要求. 剩下的就需要楼主考虑信息响应的问题了,是用队列还是多线程.那就仁者见仁智者见智啦. 再有就是防火墙. 内网. 端口映射等等扩展的问题了. 这个就要一点一点弄啦.个人感觉服务器信息采集分发没必要用java吧, 找个C的程序员写个简单的高速采集派发服务端就足够了哦.
有本书教 <<java p2p技术内幕>>的吧. 推荐楼主看看.