Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

UDP в Windos 2000 [D6, Win2k]


Dmitry100 ©   (2002-05-03 14:41:00) 

При написании клиент-серверного приложения столкнулся с проблемой. Использую Indy. При работе под Windows 2000
при посылке сообщения на компьютеры вылетатет ошибка 10054.
Нашел на сайте микрософт информацию об ошибке
BUG: Winsock Control Run-Time Error 10054 in DataArrival Event for UDP (Q260018)
( http://support.microsoft.com/default.aspx?scid=kb;EN-US;q260018)
может кто-нибудь подскажет как решить эту проблему?

P.S. При дальнейшей работе с программой (после возникновения ошибки) серверная часть (под Windows 2000) перестает получать сообщения от клиентской, хотя отправляет нормально.


Dmitry100   (2002-05-06 11:59:00) [1]

Дело в том, что таже программа без проблем работает, если серверная часть запущена на Win 9x.
И еще, никакого байта данных не возвращается.
Адреса не широковещательные.
P.S. статью по ссылке я конечно же прочитал


Dmitry100   (2002-05-06 11:58:00) [2]

Дело в том, что таже программа без проблем работает, если серверная часть запущена на Win 9x.
И еще, никакого байта данных не возвращается.
Адреса не широковещательные.


Ghost.   (2002-05-05 00:26:00) [3]

Ты свою ссылку сам-то читал? Там авсепонятно написано..
If a SendData request is sent to a RemoteHost that is not listening on the RemotePort , the DataArrival event fires and indicates that 1 byte of data is available
А с ширтоковещательными адресами такое бывает если приложение работает на машине в данный момент не подключенной к сети


Dmitry100   (2002-05-04 20:28:00) [4]

Все довольно просто, написано по примеру к Indy

//Прием данных от клиента
procedure TUDPMainForm.UDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
var
DataStringStream: TStringStream;
begin
DataStringStream := TStringStream.Create("");
try
DataStringStream.CopyFrom(AData, AData.Size);
//Обработка полученных данных
finally
DataStringStream.Free;
end;
end;

//Передача
UDPServer.Send(ClientHost,ClientPort,Message);


BAHO   (2002-05-04 05:03:00) [5]

Покажи код...


Наверх

Титульная страница Поиск, карта сайта Написать письмо