首页 新闻 搜索 专区 学院

c# socket客户端连接问题

0
悬赏园豆:100 [已解决问题] 解决于 2016-02-06 16:17

局域网用socket创建服务器,客户端可以输入ip连接,但如果像cs一样服务器创建了客户端通过搜索就能发现服务端进行连接,而不用输入ip,这应该怎么实现呢?

zhangbaochong的主页 zhangbaochong | 初学一级 | 园豆:62
提问于:2015-11-06 21:43
< >
分享
最佳答案
0

IP地址肯定是要的,一般利用了局域网广播来通告了服务器的IP地址,可以采用如下方式:

  1. 服务器端对局域网广播它提供了服务,客户端收到后就知道服务器信息了;
  2. 客户端广播需要服务的请求,服务端收到请求后告诉它。
  3. 1 & 2 组合使用
收获园豆:100
天方 | 大侠五级 |园豆:5266 | 2015-11-06 23:42
其他回答(3)
0

客户端利用RARP(反向地址转换协议)协议,从路由器中的ARP表中获取客户端的IP地址。要求事先路由器中设置客户端MAC地址与客户端IP地址对应的表。

~Rambler~ | 园豆:202 (菜鸟二级) | 2015-11-07 00:53
0

利用WCF,在服务端放置一个服务发现(service discovery)的端点,客户端就能自动发现部署了这类端点的服务,在返回的信息中就有ip地址。它是利用了ws-discovery协议。

像小区视频监控,现在有很多采用了网络摄像机,它们从质上是一个server, 对外提供实时视频流服务。它们一般以利用dhcp获得ip以接入网络,那监控客户端是怎么发现这些摄像机呢?就是利用ws-discovery协议。

何德海 | 园豆:481 (菜鸟二级) | 2015-11-07 11:59
0

他那个创建的服务端口一定是固定的,你就需要所有当前路由ipconfig。得到的默认网关值,然后根据这个值,一般从1-254,这样的IP搜索,得到所有服务器主机的位置,然后尝试连接,可以连接到,就说嘛打开了的。。就这样。

Supper_litt | 园豆:785 (小虾三级) | 2015-11-21 09:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册