Ошибка отладки TCP C # - PullRequest
       19

Ошибка отладки TCP C #

0 голосов
/ 06 сентября 2011
public Server([Optional, DefaultParameterValue(0x6c1)] int port, [Optional, DefaultParameterValue("127.0.0.1")] string ip)
{
    this.IP = IPAddress.Parse(ip);
    this.Port = port;
    this.listenerConnection = new TcpListener(this.IP, this.Port);
    this.listenerConnection.Start();
    this.listenerThread = new Thread(new ThreadStart(this.listen));
    this.listenerThread.Start();
}

- это мой код, он работает нормально, но когда я отлаживаю его, я получаю сообщение:

Указанный аргумент находится вне диапазона допустимых значений.Имя параметра: порт

Может кто-нибудь помочь?

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

Ну, тогда port находится вне диапазона допустимых значений, который находится между IPEndPoint.MinPort и IPEndPoint.MaxPort .

0 голосов
/ 20 сентября 2011

Вы пытались использовать IP-адрес своей машины?Вы можете использовать следующий код для получения IP-адреса компьютера, на котором вы запускаете приложение:

IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
IPAddress localIpAddress = null;

forach(IPAddress address in host.AddressList)
{
    if(address.AddressFamily == AddressFamily.InterNetwork)
    {
          localIpAddress = address;
    }
}

TcpListener listener = new TcpListener(localIpAddress, port);
listener.Start();

Кроме того, вы можете рассмотреть возможность использования порта по умолчанию> 5000. Так как между 0и 5000, которые зарезервированы или уже используются службами.

...