Сервер, прослушивающий 2 разных порта, не работаетC#

Место общения программистов C#
Ответить
Anonymous
 Сервер, прослушивающий 2 разных порта, не работает

Сообщение Anonymous »

Я написал библиотеку для своего сокетного соединения.
Она прекрасно работает для одного соединения.

Код: Выделить всё

public static bool StartServer(string _strPort, string _strIpAddress_Optional, out string strInfo)
{
try
{
StrPort = _strPort;
StrIpAddress_Optional = _strIpAddress_Optional;

// Data buffer for incoming data.
byte[] bytes = new Byte[BufferSize];

IPAddress ipAddress;
if (String.IsNullOrEmpty(StrIpAddress_Optional) || StrIpAddress_Optional.Trim() == "-1")
ipAddress = IPAddress.Parse(GetLocalIPAddress());
else
ipAddress = IPAddress.Parse(StrIpAddress_Optional);

int port = int.Parse(_strPort);
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, port);

if (listener == null)
listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

listener.Bind(localEndPoint);

listener.Listen(100);
listener.BeginAccept(new AsyncCallback(AcceptCallbackServer), listener);
strInfo = "address " + ipAddress + "  port "+ port;
return true;
}
catch (Exception exc)
{
strInfo = exc.Message;
return false;
}
}
Итак, если я начну с

Код: Выделить всё

AsynchronousServer.StartServer("23", "127.0.0.1", out strInfo);
или

Код: Выделить всё

AsynchronousServer.StartServer("24", "127.0.0.1", out strInfo);
по отдельности все хорошо, но не если я положу их ВМЕСТЕ. Второй отклоняется с ошибкой «Был указан неверный аргумент» в команде Listener.bind.
Итак, мой вопрос: как привязать сервер к двум разным портам?
Итак, мой вопрос: как привязать сервер к двум разным портам?
p>
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»