Нужно узнать IP и порт клиента по UDP

 
0
 
.NET
ava
Simplemortal | 05.01.2008, 18:06
Привет всем!
У меня проблема заключается в следующем.
Есть сервер. К нему подключается много клиентов. Работаем по UDP.
Используем динамическое распределение портов+многопоточность.
Серверу нужно знать с какого IP-адреса и порта ему пришёл запрос на подключение, чтобы он мог отправить ему новый порт.
Делаю так:

IPEndPoint ^RemoteIpEndPoint = gcnew IPEndPoint(IPAddress::Any, 0);
array<unsigned char,1> ^receiveBytes = udpClient->Receive(RemoteIpEndPoint);
String ^receivedData = Encoding::UTF8->GetString(receiveBytes);
if(receivedData->Substring(0,6)==(String^)"ConnMe")//пришёл запрос на подключение
{
MessageBox::Show("Адрес клиента: "+RemoteIpEndPoint->Address->ToString()+"\n"+
"Порт клиента: "+RemoteIpEndPoint->Port.ToString());
/*
создаём новый поток...
отправляем клиенту новый порт...
*/
}

Что интересно, IP-адрес определяется правильно, а порт какой-то левый пишет.
Теже адрес и порт выводятся если писать:

MessageBox::Show(RemoteIpEndPoint->ToString());

В чём ошибка?
Как правильно определить порт клиента?
Comments (1)
ava
Simplemortal | 05.01.2008, 20:10 #
Всем спасибо! :biggrin
Разобрался!
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit