Foxtable(狐表)用户栏目专家坐堂 → [求助]HttpServer如何获取服务端口


  共有4464人关注过本帖树形打印复制链接

主题:[求助]HttpServer如何获取服务端口

帅哥哟,离线,有人找我吗?
YOU
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:395 积分:627 威望:0 精华:0 注册:2018/3/5 14:40:00
[求助]HttpServer如何获取服务端口  发帖心情 Post By:2022/4/25 10:03:00 [只看该作者]

启动HttpServer服务如何判断该端口是否已启动,避免报错?

2022-04-25 09:44:45.2756
在前缀“http://*:8809/”上侦听失败,因为它与计算机上的现有注册冲突。
   在 System.Net.HttpListener.AddPrefix(String uriPrefix)
   在 System.Net.HttpListenerPrefixCollection.Add(String uriPrefix)
   在 UserCode.AIoKhem6dKAJF6BtN(ControlEventArgs e)

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110344 积分:561568 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 10:06:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
YOU
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:395 积分:627 威望:0 精华:0 注册:2018/3/5 14:40:00
  发帖心情 Post By:2022/4/25 11:13:00 [只看该作者]

 如何批量判断指定的几个端口?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110344 积分:561568 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 11:37:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
YOU
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:395 积分:627 威望:0 精华:0 注册:2018/3/5 14:40:00
  发帖心情 Post By:2022/4/25 11:51:00 [只看该作者]

这个代码怎么优化一下
Dim t As String = "TCP" '协议
Dim port0 As Boolean = False
Dim port1 As Boolean = False
Dim port2 As Boolean = False
Dim port3 As Boolean = False
Dim properties As System.Net.NetworkInformation.IPGlobalProperties =  System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()
Dim ipendpoints() As System.Net.IPEndPoint

If t = "TCP" Then
    ipendpoints = properties.GetActiveTcpListeners()
Else
    ipendpoints = properties.GetActiveUdpListeners()
End If

For Each ipendpoint As System.Net.IPEndPoint In ipendpoints
    If ipendpoint.Port = 8880 Then
        port0 = True
        Output.Show( "8880端口使用中")
    ElseIf ipendpoint.Port = 8881 Then
        port1 = True
        Output.Show( "8881端口使用中")
    ElseIf ipendpoint.Port = 8882 Then
        port2 = True
        Output.Show( "8882端口使用中")
    ElseIf ipendpoint.Port = 8883 Then
        port3 = True
        Output.Show( "8883端口使用中")
    End If
Next

ipendpoints = Nothing
properties = Nothing

If port0 = False Then
    Output.Show( "8880端口启动成功")
    HttpServer.Prefixes.Add("http://*:8880/")
    HttpServer.Start()
    PopMessage("8880端口启动成功,感谢您的使用!","温馨提示",,5)
ElseIf port1 = False Then
    Output.Show( "8881端口启动成功")
    HttpServer.Prefixes.Add("http://*:8881/")
    HttpServer.Start()
    PopMessage("8881端口启动成功,感谢您的使用!","温馨提示",,5)
ElseIf port2 = False Then
    Output.Show( "8882端口启动成功")
    HttpServer.Prefixes.Add("http://*:8882/")
    HttpServer.Start()
    PopMessage("8882端口启动成功,感谢您的使用!","温馨提示",,5)
ElseIf port3 = False Then
    Output.Show( "8883端口启动成功")
    HttpServer.Prefixes.Add("http://*:8883/")
    HttpServer.Start()
    PopMessage("8883端口启动成功,感谢您的使用!","温馨提示",,5)
End If

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110344 积分:561568 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 12:14:00 [只看该作者]

Dim t As String = "TCP" '协议
dim lst as new list(of integer)
lst.addrangd({8880,8881,8882,8883})
Dim properties As System.Net.NetworkInformation.IPGlobalProperties =  System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()
Dim ipendpoints() As System.Net.IPEndPoint

If t = "TCP" Then
    ipendpoints = properties.GetActiveTcpListeners()
Else
    ipendpoints = properties.GetActiveUdpListeners()
End If

For Each ipendpoint As System.Net.IPEndPoint In ipendpoints
lst.remove(ipendpoint.Port)
   Output.Show(ipendpoint.Port &  "端口使用中")
Next

if lst.count> 0 then
    HttpServer.Prefixes.Add("http://*:" & lst(0) & "/")
    HttpServer.Start()
end if

 回到顶部
帅哥哟,离线,有人找我吗?
YOU
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:395 积分:627 威望:0 精华:0 注册:2018/3/5 14:40:00
  发帖心情 Post By:2022/4/25 12:34:00 [只看该作者]

lst.addrangd({8880,8881,8882,8883})

显示异常
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20220425123246.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110344 积分:561568 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 13:35:00 [只看该作者]


 回到顶部