1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

Проблема с Udp-протоколом

Тема в разделе "Delphi - программирование", создана пользователем lazynov, 14 май 2006.

Статус темы:
Закрыта.
  1. lazynov

    lazynov Гость

    Репутация:
    0
    Проблемы с UDP-протоколом. Дело в том, что когда на сервере принимаешь сообщение о приеме данных и пытаешься преобразовать поток в строку, то прога отказывается работать. Если просто делать
    procedure MainForm.ServerOnUDPRead(........);
    begin
    ShowMessage('Somebody connect');
    end;
    и все прекрасно работает!
    В чем причина?
     
  2. Alex Death

    Alex Death Гость

    Репутация:
    0
    Вот как можно сделать для чата:

    Код:
    procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
    ABinding: TIdSocketHandle);
    var
    StrFrmStream: TStringStream;
    Str:string;
    begin
    StrFrmStream:=TStringStream.Create('');
    StrFrmStream.CopyFrom(AData,AData.Size);
    Str:=StrFrmStream.DataString;
    ABinding.SendTo(ABinding.PeerIP,ABinding.PeerPort,str[1],length(str));
    end;
     
  3. aAndy

    aAndy Гость

    Репутация:
    0
    У меня всё прекрасно работает вот таким способом, до боли всем знакомым:

    Код:
    procedure TdmMain.UDPServerUDPRead(Sender: TObject; AData: TStream;
    ABinding: TIdSocketHandle);
    var
    s:string;
    begin
    SetLength(s, AData.Size);
    AData.Position := 0;
    Adata.Read(s[1], Length(s)); // читаю всё что мне нужно, в данном примере 
    // понадобилось получить первый символ ака комманда
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей