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

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

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

    lazynov Гость

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

    Alex Death Гость

    Вот как можно сделать для чата:

    Код (Text):
    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 Гость

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

    Код (Text):
    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)); // читаю всё что мне нужно, в данном примере
    // понадобилось получить первый символ ака комманда
     
Загрузка...
Похожие Темы - Проблема Udp протоколом
  1. Zloikaktus
    Ответов:
    0
    Просмотров:
    11
  2. c0de3r
    Ответов:
    5
    Просмотров:
    134
  3. DobermannTT
    Ответов:
    10
    Просмотров:
    139
  4. SoulPaladin
    Ответов:
    4
    Просмотров:
    135
  5. Artael
    Ответов:
    1
    Просмотров:
    112
Статус темы:
Закрыта.

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