我如何在C#中的随机端口上创建的HttpListener类? [英] How can I create an HttpListener class on a random port in C#?

查看:985
本文介绍了我如何在C#中的随机端口上创建的HttpListener类?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个内部服务网页,并可以在同一台机器上的多个实例中运行的应用程序。要做到这一点,我想创建一个的HttpListener 的一个空闲端口上侦听:

I would like to create an application that serves web pages internally and can be run in multiple instances on the same machine. To do so, I would like to create an HttpListener that listens on a port that is:


  1. 随机选取

  2. 当前未使用

从本质上讲,我想的东西这样的:

Essentially, what I would like is something like:

mListener = new HttpListener();
mListener.Prefixes.Add("http://*:0/");
mListener.Start();
selectedPort = mListener.Port;



我怎样才能做到这一点?

How can I accomplish this?

推荐答案

的TcpListener会发现一个随机的未使用的端口,如果你绑定端口0上侦听。

TcpListener will find a random un-used port to listen on if you bind to port 0.

public static int GetRandomUnusedPort()
{
    var listener = new TcpListener(IPAddress.Any, 0);
    listener.Start();
    var port = ((IPEndPoint)listener.LocalEndpoint).Port;
    listener.Stop();
    return port;
}

这篇关于我如何在C#中的随机端口上创建的HttpListener类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆