1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

Проблема с 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)); // читаю всё что мне нужно, в данном примере 
    // понадобилось получить первый символ ака комманда
     
Загрузка...
Похожие Темы - Проблема Udp протоколом
  1. pack
    Ответов:
    5
    Просмотров:
    46
  2. Alex1994
    Ответов:
    7
    Просмотров:
    106
  3. PingvinPingvin
    Ответов:
    10
    Просмотров:
    113
  4. Free2playman
    Ответов:
    14
    Просмотров:
    135
  5. Дмитрий17
    Ответов:
    10
    Просмотров:
    192
Статус темы:
Закрыта.

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