计算机通信的另一点疑问

2016-04-21 22:03:20 +08:00
 ColorfulNight

没错,我又来了,是这样的
1.A 与 B 是两台链接在同一个路由器的瘦客户机, S 是服务器
2.S 创建了一个 ServerSocket ,等待 AB 的相应,但是现在 S 不想理 A ,只想应答 B ,怎么识别?即是 A 就不理会继续等待 ,是 B 就应答,然后关闭 ServerSocket

2585 次点击
所在节点    Java
8 条回复
qianshizhou
2016-04-21 22:09:32 +08:00
告诉 S 自己的 ID 是多少,是 A 就 close
ColorfulNight
2016-04-21 22:13:48 +08:00
@qianshizhou 意思是 A 在创建 socket 的时候可以加入自己的身份标识吗?
qianshizhou
2016-04-21 22:18:32 +08:00
@ColorfulNight 如果你只是在局域网类 可以广播自己的 ID 如果是外网 只有建立一个链接 发送一个 clinent hello 这个里面带 ID
Yasic
2016-04-21 23:54:12 +08:00
如果不对 AB 进行身份识别,从 S 角度来讲 A 和 B 就是等价的
ColorfulNight
2016-04-22 00:26:18 +08:00
@Yasic 对啊,所以要辨识
ColorfulNight
2016-04-22 01:06:28 +08:00
@qianshizhou 能不能写一个循环,让 A 与服务器交流,建立链接后 S 向 A 请求 A 的身份, A 返回身份, S 建立判断语句,判断是 A 后返回断开信息,然后 S 与 A 都调用 socket.close(), ServerSocket 继续等待 B 的链接
varrily
2016-04-22 16:18:59 +08:00
1. 上层协议作身份识别
2. 防火墙 drop A
ColorfulNight
2016-04-22 19:38:18 +08:00
@varrily 能具体一点是什么协议吗?对于 S 来说 AB 不是一样的么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/273489

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX