分散服务问题,请各位提供建议 (50分)

  • 主题发起人 主题发起人 乡村月光
  • 开始时间 开始时间

乡村月光

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写一个如下方式的P2P软件:A机和B机连接后,不但读取B的共享信息,也能读取其它机器和B的连接信息,通过这些信息A可以再连接到其它机器上,这样重复下去,如果其中某台机器在别的局域网内无法直接连通,A可以请求B中转服务。这样的好处是在没有服务器的情况下,只要连接到一台机器,就有可能得到很多的共享信息。现在的问题是,如何避免死循环:如A连接到B,通过B连接到C,通过C连接到D,E,F,G等等,但可能其中D,E,F,G实际上已经是B,C甚至是自己,如果在软件里识别那是已经访问过的机器?通过IP识别的问题是,如果几个机器通过同一代理服务器连接(软件支持Socks和Http代理),或者一个机器通过不同的代理服务器连接(软件支持对不同的目标使用不同的代理),怎么唯一确定他们的身份?
希望高手和有兴趣的朋友参加讨论,分数可以再加!
 
原来的问题没人过问,换个话题,请大家讨论
 
为什么我的问题总没人回答?太简单还是太难?太古怪还是太普通?
 
建立令牌机制
 
to liqianlong:
如何建立,能否详细一点?如何在每一台机器上生成互不相同的标识?
 
没有回答了吗?
 
这样行吗: 对于一个client, 初始化的时候生产一个GUID,并且在连接到其他机器以后把自己的GUID告诉对方, 例如两台机器A和B, A连接到B后把GUID告诉B, 同样 B也把GUID告诉A, 这样A和B用同样一对GUID标识同一个连接, 只要比较代表连接的GUID对就可以判断连接是否为同一个连接.
 
谢谢楼上的参与。关键是如何产生这个ID,我现在想用网卡的MAC地址,据说没有重复的,不知道是不是。
 
多人接受答案了。
 
后退
顶部