在工作中尤其是刚步入行业的时候、总会有那么一段的困惑时期、多向前辈请教,多和同事交流要比自己钻牛角尖更能解决问题。感谢帮助我的人。
你好—乔布斯 16:27:51
群主做过 p2p类似的 项目么
你好—乔布斯 16:27:58
我 现在有点乱
袭烽 17:03:31
p2p?
袭烽 17:03:36
没怎么弄过
你好—乔布斯 17:12:26
其实我也不太懂、感觉跟即时通讯有点类似
你好—乔布斯 17:12:41
我理理思路怎么说。。
袭烽 17:12:56
你想做的是什么
你好—乔布斯 17:13:11
现在就是客户端和服务器是cs 模式的
你好—乔布斯 17:13:46
想修改成 服务器只做一个转发 让下载的客户端和 上传的客户端连接 减轻服务器的压力
你好—乔布斯 17:14:01
网上查找这个用
p2p解决
袭烽 17:15:50
建议你在网上找找 apache mina这个比较好。 。是一个开源的已经实现了通讯。。
2013-09-09
你好—乔布斯 17:17:24
恩
袭烽 17:17:37
服务器就是一个管理,终端之间相互传递
你好—乔布斯 17:18:22
恩 类似qq 的 双方在线 就让对方直接连接 省去了上传服务器
袭烽 17:18:23
你要下载一个问题,服务器会查找有没有已经上传过的终端,给你查找好,直接开启那头的线程连接你们之间的信息通讯
你好—乔布斯 17:18:58
现在 那个ip 的问题 我也不清楚
你好—乔布斯 17:19:08
两个客户端 如何连接
袭烽 17:19:10
跟聊天一样,我要和某人聊天,服务器会替我查到到这个人,建立我们之间的通讯,然后服务端就不管了,最多监控了
你好—乔布斯 17:19:18
端口 怎么设置
袭烽 17:19:34
这个底层就复杂了,不过原理还是很简单的
你好—乔布斯 17:19:36
服务器 是在路由那 设置的 转发规则 , 那客户端呢
你好—乔布斯 17:20:06
真的挺愁、 网络这块
袭烽 17:20:23
比如A通过路由内网共享登录到聊天服务器,服务器记住了A路由器的转发规则,是外网Ip:8000
袭烽 17:20:53
这个8000端口,是路由的映射表端口,专门开启给a使用的,所有发到8000的数据,路由器都会给A这个内网电脑
袭烽 17:21:05
这个8000的端口,在路由上就到NAT打洞
袭烽 17:21:25
路由的映射表记录了每一个内网电脑通向外网的一个洞口
袭烽 17:21:55
IM服务器就负责打洞同时记录这个端口
你好—乔布斯 17:22:05
那这样呢
袭烽 17:22:14
这还是只是第一步
你好—乔布斯 17:22:21
客户端 没有设置转发规则 只有服务器设置了
你好—乔布斯 17:22:35
客户端连接 服务器的8000 端口
你好—乔布斯 17:22:49
那么客户端 要打洞时候 是哪个端口。、
袭烽 17:22:49
IM服务器记录了A电脑的在互联网的唯一地址 xxx.xxx.x.x:8000
你好—乔布斯 17:22:53
乱了一个b
你好—乔布斯 17:23:11
哦 那就是也是8000端口?
袭烽 17:23:25
同时给它映射了一个唯一的ID,比如叫 zhangsan@qq.com
袭烽 17:23:42
然后B来寻找张三这个人
袭烽 17:23:59
IM服务器,就会去查找,发现张三刚刚来报道过,在线的
袭烽 17:24:24
就把张三在互联网的唯一地址给了B,B就和A建立了通讯
你好—乔布斯 17:24:41
建立通讯
你好—乔布斯 17:24:55
是通过 8000端口还是映射的id
袭烽 17:24:56
他们就靠这种临时的端口的,建立的
袭烽 17:25:11
临时的8000这个端口
你好—乔布斯 17:25:15
哦
你好—乔布斯 17:25:19
自己看 也没有头绪、乱看都是一些碎片的知识
袭烽 17:25:34
如果A这个时候掉线了,或者重新登录,路由器的端口就会变化
你好—乔布斯 17:25:54
惆怅 感觉自己最近一点成绩也没有 也挺压抑的
你好—乔布斯 17:26:06
恩、 你帮我理一下 我就顺多了
袭烽 17:26:12
你研究路由器就会发现,一个局域网内的客户机访问外网每次的端口都是临时的
袭烽 17:26:31
一旦断开重连,就分配一个新的
你好—乔布斯 17:26:44
哦哦
袭烽 17:26:45
所以一个路由器能支持多少客户机上网也是有极限的
袭烽 17:27:07
查找也比较麻烦,比如警察去网吧找9点十分看黄片的人
你好—乔布斯 17:27:14
。。
袭烽 17:27:17
网管就会把路由的映射表打开
袭烽 17:27:34
看看9点十分这个时候的端口开放给谁的
袭烽 17:27:48
警察说追踪到的数据来源是你们网吧的ip,端口是9000
你好—乔布斯 17:28:03
要是重启 警察就sb 了
袭烽 17:28:04
然后一看9000端口 9点十分,是你的电脑在用,就把你抓了
你好—乔布斯 17:28:18
、 、 这个比方不好玩。
袭烽 17:28:27
路由器的映射记录一般是不会被消除的
袭烽 17:28:38
都能查到历史记录
你好—乔布斯 17:28:42
哦
袭烽 17:28:45
所以要知道谁在干什么也很容易
袭烽 17:29:02
你们公司网管要是安个监控就可以截获每个人的聊天记录
袭烽 17:29:10
知道你上班都在干什么
你好—乔布斯 17:29:25
没事我们小公司。。 开发就4个
你好—乔布斯 17:29:34
= =见笑了
袭烽 17:29:37
所以IM服务器同时还要承担安全性的封装,对数据高加密
袭烽 17:29:51
比如qq的聊天信息,现在都几乎是加密的
你好—乔布斯 17:30:12
聊天信息不实都在本地么
2013-09-09
袭烽 17:30:32
聊天信息本地存的是给用户自我安慰的,其实IM服务器都会存一份
袭烽 17:30:42
甚至实时监控
你好—乔布斯 17:30:48
袭烽 17:30:49
海量存储
袭烽 17:31:17
腾讯在去国都有分布式的服务器存储这些数据
你好—乔布斯 17:31:32
现在 我感觉 自己就比较迷茫,
袭烽 17:31:34
p2p其实是一种算法,一种思想
你好—乔布斯 17:31:41
谈谈私事。。 可以么
袭烽 17:31:42
你先搞明白理论
你好—乔布斯 17:32:39
好的、 给我理清了这么多。 我自己在整理整理去
你好—乔布斯 17:32:42
谢谢大牛
袭烽 17:33:20
p2p其实是一种分布式的思想,也是云计算的前身基础
袭烽 17:33:35
以前大家的旧思维都是,我是服务端,所有人都来找我吧
你好—乔布斯 17:33:38
那我想问一下 应该如何测试呢
袭烽 17:33:52
导致服务端性能越来越瓶颈,无法承受大规模并发
你好—乔布斯 17:33:54
在同一个局域网是不是测试不出来
袭烽 17:34:12
现在模式变了,所有人即使参与者也是实施者
袭烽 17:34:31
你要获得互联网的数据,就得为互联网做贡献
你好—乔布斯 17:34:34
恩 我看网上参与的人越多 速度月款
你好—乔布斯 17:34:38
越快
袭烽 17:34:39
你是客户端也是服务端
袭烽 17:34:45
大家相互服务
袭烽 17:34:59
而且真正的服务端,只做桥接和控制
袭烽 17:35:07
别的不干
你好—乔布斯 17:35:29
那qq 存储 聊天信息 不是服务器存储的么
袭烽 17:35:35
就像你去下毛片,vagaa一搜,发现有10个共同爱好者,vagaa替你找到他们的机器,开启他们的服务器,为你提供下载
你好—乔布斯 17:35:53
额。
袭烽 17:36:05
而你下载的同时也在高速vagaa服务器,我本地也有了,谁要来下可以找我
袭烽 17:36:08
告诉
你好—乔布斯 17:36:10
在qq 上传输的 文件 qq 会在服务器备份么
袭烽 17:36:25
当然会备份
你好—乔布斯 17:36:40
哦哦、 这样啊 本来我 不太清楚、人越多 速度越快这句话呢还
袭烽 17:36:58
人越多下载越快,是因为带宽共享了
你好—乔布斯 17:36:58
qq 服务器备份 不就跟传到服务器一样了么
袭烽 17:37:11
比如你家网速是10兆的
袭烽 17:37:19
下载速度可以达到1m每秒
袭烽 17:37:35
你要下个色戒高清无删除版2个多g
袭烽 17:37:56
迅雷就会把你的这个文件,拆分成10个线程去做
袭烽 17:38:05
每个线程去不同的服务器上下载
袭烽 17:38:18
你的资源越多,线程就越多
你好—乔布斯 17:38:27
哦
袭烽 17:38:31
可能一个2g文件,有80个资源
袭烽 17:38:40
那就是80个资源同时去分段下载
袭烽 17:38:47
最后组合拼成一个文件
你好—乔布斯 17:38:51
那就分80份 每份2g/80
袭烽 17:38:55
对
你好—乔布斯 17:38:57
真是牛
袭烽 17:39:05
理论上只要你的带宽够大,你下载就越快
袭烽 17:39:06
飞快
你好—乔布斯 17:39:08
高端的创意
袭烽 17:39:16
这就是风靡一时的bt下载
袭烽 17:39:19
求种子
你好—乔布斯 17:39:35
看你举得例子 就不是好人
袭烽 17:39:34
当年迅雷就靠这个发财的
你好—乔布斯 17:39:43
你好—乔布斯 17:39:49
现在还是么
袭烽 17:40:10
但是瓶颈不在网卡和带宽上了
袭烽 17:40:17
以后云时代的瓶颈在硬盘
你好—乔布斯 17:40:28
不太明白
袭烽 17:40:34
我们的硬盘平均速度才10几兆每秒的写入速度
是的
袭烽 17:40:44
意思就是你下载就算再快,我硬盘慢慢写慢慢写
袭烽 17:40:49
也没用
袭烽 17:41:11
所以大家就在想有没有一种可以高速写入的办法,解决大数据带来的瓶颈
你好—乔布斯 17:41:17
哦、硬盘的容量要是大 能加快写入的速度么
袭烽 17:41:30
就像淘宝一天上百t的数据,怎么能完成这么大规模的数据瞬间写入
你好—乔布斯 17:42:17
可不可以分成好多的小硬盘 , 比如1g 一个 每个的写入速度是10m
袭烽 17:42:19
所以就有了分布式的存储的思想,把一个文件拆分成一万分,分别存储在一万台机器上,由一个中央控制机器记录这个文件的分拆地址和组合信息
袭烽 17:42:50
这样一个100t的文件,就可以瞬间有一万分烂电脑瞬间保存起来
你好—乔布斯 17:43:04
恩
袭烽 17:43:10
这就是大数据时代的主流思想
袭烽 17:43:18
hadoop云计算
你好—乔布斯 17:43:22
这样丢了一份就 随坏了
你好—乔布斯 17:43:24
损坏了
袭烽 17:43:35
谷歌靠这套思想成就了一个巨大的搜索引擎
你好—乔布斯 17:43:41
哦、 厉害 你平时都看什么啊
袭烽 17:43:51
用几百万台烂pc组成了庞大的互联网搜索引擎
你好—乔布斯 17:43:52
你刚才说这个现在已经实现了么
袭烽 17:43:56
对
你好—乔布斯 17:44:04
恩
袭烽 17:44:05
谷歌05年就在研究
袭烽 17:44:08
早就实现了
你好—乔布斯 17:44:20
好吧、
袭烽 17:44:21
你刚说的数据损坏也不是问题,有热备份
你好—乔布斯 17:44:37
你是不是经常看书啊
袭烽 17:44:39
还有一万台在做同样的数据备份
袭烽 17:44:52
一旦坏了就机器疯狂报警,响起来
你好—乔布斯 17:45:00
!!
袭烽 17:45:11
管理员赶紧过去把硬盘拔出来扔掉,换个新的,系统会再自动拷贝
袭烽 17:45:21
主备方案
袭烽 17:45:35
所有高可用的服务器都有这个解决方案
袭烽 17:45:51
redis 0+1 存储方案
你好—乔布斯 17:46:02
这个不是小公司玩得起的
袭烽 17:46:04
就像我们的电脑UPS备用电源
袭烽 17:46:22
一旦发电厂没电了,UPS启动,服务器不会当机
袭烽 17:46:33
那当然
你好—乔布斯 17:46:34
哦 形象
袭烽 17:46:45
同时会报警没电了
袭烽 17:47:02
让运维人员迅速响应,如果不采取措施备用电源一旦也出问题,就全部数据都丢失了
袭烽 17:47:14
这个服务梯队就是这样建立
袭烽 17:47:50
未来都是大数据的时代
你好—乔布斯 17:48:12
做程序元需要 头脑清晰、 有创意啊
你好—乔布斯 17:48:18
好的创意太有价值
袭烽 17:49:38
差不多就行了,了解这些对你多少有点帮助
袭烽 17:50:02
至少知道自己处在整个技术领域的什么阶段
你好—乔布斯 17:50:31
非常感谢、 热心的大牛。
袭烽 17:50:38
我们落后国外至少20年,早在2005年谷歌就实现mapreduce,亚马逊就率先进入云计算
袭烽 17:50:48
我们这都2013年了
你好—乔布斯 17:50:54
遇到你这么一个前辈是我的荣幸,让我少走 多少弯路。本来这几天挺郁闷的
袭烽 17:51:20
你的任督二脉没打通
袭烽 17:51:26
还得加强学习
你好—乔布斯 17:51:29
你好—乔布斯 17:51:35
应该 看什么
你好—乔布斯 17:51:50
没有套路 都是 假把式现在
袭烽 17:52:09
所以要多实践,拖临摹
袭烽 17:52:22
模仿是为了了解原理,学习是为了自主创新
袭烽 17:52:36
模仿学习才能进步更快
你好—乔布斯 17:52:51
恩
你好—乔布斯 17:53:01
态度 要学习你的
袭烽 17:53:01
总是在模仿套用,不去学,不去了解原理,等于民工
技术就是你知道了就不难,不知道了就很难
你好—乔布斯 17:53:29
是的、强烈同意
袭烽 17:53:33
一旦你知道了,就不屑于敲代码了,随便找找就调试出来了
袭烽 17:53:41
问题出在哪也猜个八九不离十
袭烽 17:53:52
就是这样的
你好—乔布斯 17:54:11
你向我现在原理都知道了 还是不清楚如何下手
袭烽 17:54:13
掌握原理和思想,是学技术的精髓
袭烽 17:54:22
你只是知道了概述
你好—乔布斯 17:54:23
有没有类似的网址 例子
袭烽 17:54:30
做事情要有概述,再有明细
袭烽 17:54:49
凡事给你讲个概述就能懂,那只能是感性认识
袭烽 17:54:57
更多明细需要你逐一去分散研究
你好—乔布斯 17:55:09
恩、成
袭烽 17:55:24
比如你要学习apache mina 学习socket套接字
袭烽 17:55:38
短连接长连接的区别和用途
袭烽 17:55:52
我可以告诉你,所有的服务器,所有的,都是基于socket去做的
袭烽 17:56:16
包括tomcat服务器,它就是一个大大的socket服务器,监听的8080端口
你好—乔布斯 17:56:18
!!!
袭烽 17:56:38
tomcat的这个socket服务器监听8080 处理servlet请求
袭烽 17:56:47
可以解释执行jsp
袭烽 17:57:12
我们所有的服务器都是基于端口,监听,数据分析,逻辑处理这些基本的思想去做的
袭烽 17:57:37
你做个p2p下载,其实就是开发一个tomcat微型小程序
你好—乔布斯 17:57:40
恩、 是这样
袭烽 17:57:58
专门用来监听端口,向外发数据,或者下载数据
袭烽 17:59:01
传统的javaee应用服务器,都是只能一对多,不是多对多的,客户端就是个愣子,什么都得依赖服务器
你好—乔布斯 17:59:12
回去好好看看知识,不再打游戏了。
袭烽 17:59:15
这是web应用的特点
袭烽 17:59:32
web互联网应用追求的就是简单
袭烽 17:59:40
但是你做p2p就不同了
袭烽 17:59:53
它是追求的共享
袭烽 17:59:58
平等的对话
袭烽 18:00:08
你百度下就彻底明白,p2p为什么叫平等对话了
袭烽 18:00:44
做p2p的人很牛逼的,可以告诉你这个高透彻了,就是大牛的逼
你好—乔布斯 18:00:47
不是每一个客户端又当服务器 又当客户端么
袭烽 18:00:55
加油吧
你好—乔布斯 18:01:11
恩恩 谢谢 今天别开生面的一刻