none
关于查找局域网内开启某个特定端口得IP RRS feed

  • 问题

  • 场景:

    使用TCP,有客户端,服务端,同网段(例如192.168.1.xxx,端口:8080),

    服务端常开(IP:192.168.1.254)

    在不预先配置服务端IP得情况下,让客户端自行搜索服务端IP

    我现在得实现方式是,打开客户端(IP:192.168.1.110),根据所属网段从(192.168.1.1-192.168.1.255 + 8080)用Socket去连,连得上就说明找到了

    但是这种方法效率极低,

    求一种可以以极快得速度找到局域网内 开启某个端口得IP

    以上,感谢


    与我交流:点击这里给我发消息

    2020年3月12日 9:02

答案

  • 雙方都另外開一個 udp 協議端口,客戶端啟動時就發送 udp 廣播,服務端收到廣播就回應

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2020年3月13日 7:30

全部回复

  • Hi,

    你可以尝试用下面链接中的方法去获取传入连接请求的本地 IP 地址和端口号,当你的服务端开启后,一旦有客户端链接进来,你就可以使用TcpListener.LocalEndpoint属性来获取这个ip地址。

    下面的链接也有代码示例,你可以看看。

    TcpListener.LocalEndpoint 属性

    希望这会帮到你。

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2020年3月13日 6:00
    版主
  • 雙方都另外開一個 udp 協議端口,客戶端啟動時就發送 udp 廣播,服務端收到廣播就回應

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2020年3月13日 7:30
  • 非常感谢提供得思路

    已使用UDP得方式解决了我得问题


    与我交流:点击这里给我发消息

    2020年3月18日 6:38
  • HI

    非常感谢您得回复

    我的问题,是客户端并不知道服务端的IP,需要在局域网内寻找

    我已通过UDP的方式解决了我的问题

    再次感谢您的回复


    与我交流:点击这里给我发消息

    2020年3月18日 6:39