powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Очень быстрый прием UDP пакетов
53 сообщений из 53, показаны все 3 страниц
Очень быстрый прием UDP пакетов
    #39902646
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тестил на своей виртуальной машине компоненты ICS, Indy и стандартные WinSock (Win7-64, rio.1, win64)
ICS и Indy плюс минус 2480 пакетов успевают поймать, через стандартный WinSock 4700 пакетов, а отправляю я 9000 пакетов
WireShark ловит все 9000.
Причем при получении пакета я ничего не делаю, кроме как увеличиваю кол-во принятых пакетов.

Какими средствами вы пользуетесь?
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902656
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в Indy использую idUDPServer событие OnRead, в WinSock recv, в ICS взял демку с TWSocket
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902701
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngr,
какой размер пакета?
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902702
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s62, 1500 байт +- летят
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902710
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator на чем-то писал видеосервис, не жаловался. :) может отметится...
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902723
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman, у него вроде на IOCP
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902726
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbWireShark ловит все 9000.

А на какой стороне этот WireShark?

И ты бы это... код показал хотя бы для WinSock. А то окажется внезапно, что у тебя там
ProcessMessages() в цикле...

PS: И да, я никогда не использую UDP.
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902733
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
constructor TReceiverUDP.Create(const AAdrIP: ansistring; const APort: word; const ASocketBufferSize, ALogType: integer);

begin

  inherited Create(True);
  Priority:= tpHighest;
  FreeOnTerminate:= false;
  ServerAddr.sin_family := AF_INET;
  ServerAddr.sin_addr.S_addr := inet_addr(PansiChar(AAdrIP));
  ServerAddr.sin_port := htons(APort);
  FSocketBufferSize:= ASocketBufferSize;
  FLogType:= ALogType;
  //{$IFDEF DEBUG}
  FPacketCount:= 0;
  //{$ENDIF}
end;

procedure TReceiverUDP.DestroyUDP;
begin
  try
    CloseSocket(FSocket);
    WSACleanup;
  except
    on E: exception do
    begin
      WriteMessage(FormatDateTime('yyyy_mm_dd_hh:nn:ss', now) +' - (!ОШИБКА)  закрытие сокетов. ' + E.message);
    end;
  end;
end;

procedure TReceiverUDP.Execute;
begin
  if InitUDP then begin
    while not Terminated do
    begin
      ReceiverPackage;
    end;

    //{$IFDEF DEBUG}
    WriteMessage(FormatDateTime('yyyy_mm_dd_hh:nn:ss', now) + ' - (!ИНФ) : Кол-во принятых пакетов = '+inttostr(FPacketCount));
    //{$ENDIF}
  end;
  DestroyUDP;
end;

function TReceiverUDP.InitUDP: boolean;
var
  Len:Integer;
  errCode: integer;
  Arg: u_long;
begin
  Result:= False;
  try
    if WSAStartup($0101, wData) = 0 then begin
      FSocket := Socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
      if bind(FSocket, ServerAddr, SizeOf(ServerAddr)) = Socket_Error then
      begin
        errCode:= WSAGetLastError();
        WriteMessage(FormatDateTime('yyyy_mm_dd_hh:nn:ss', now) +  ' - (!ОШИБКА)  bind socket вернул ошибку #'+errCode.ToString);
      end
       else begin
        Len:= SizeOf(Integer);
        if SetSockOpt(FSocket, SOL_SOCKET, SO_RCVBUF, @FSocketBufferSize, Len) = Socket_Error then
        begin
          errCode:= WSAGetLastError();
          WriteMessage(FormatDateTime('yyyy_mm_dd_hh:nn:ss', now) +  ' - (!ОШИБКА)  Установка буфера приема сокета #'+errCode.ToString);
        end
        else begin
          {если вдург широковещательный канал
          EnBroad:=1;
          SetSockOpt(FSocket,SOL_Socket,SO_Broadcast,PChar(@EnBroad),SizeOf(Integer));}
          {  перевожу сокет в неблокирующий режим  }
          Arg:=1;
          if IOCtlSocket(FSocket, FIONBIO, Arg) = Socket_Error then
          begin
            errCode:= WSAGetLastError();
            WriteMessage(FormatDateTime('yyyy_mm_dd_hh:nn:ss', now) +  ' - (!ОШИБКА)  Установка неблокируемого режима работы сокета #'+errCode.ToString);
          end;
          //GetSockOpt(FSocket, SOL_SOCKET, SO_RCVBUF, vInt);
          Result:= True;
        end;
      end;
    end;
  except
    on E: exception do
    begin
      WriteMessage(FormatDateTime('yyyy_mm_dd_hh:nn:ss', now) +  ' - (!ОШИБКА)  инициализация модуля приема UDP не выполнена' + E.message);
    end;
  end;
end;

procedure TReceiverUDP.ReceiverPackage;
var
  sizePacket: LongInt;
  Buffer: array [0..DefBufferSize-1] of byte;
begin
  if SERVICE_STOP = 1 then exit;

  try
    sizePacket:= Recv(FSocket, Buffer, DefBufferSize, 0);
    if sizePacket > 0 then
    begin
      //{$IFDEF DEBUG}
      inc(FPacketCount);
      //{$ENDIF}


    end;
  except
    on E: exception do
    begin

    WriteLog(FormatDateTime('yyyy_mm_dd_hh:nn:ss', now) + ' - (!Ошибка) :' + E.message);
    end;
  end;

end;
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902734
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вангую переменную длину пакета, без указания/считывания этой длины в протоколе
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902739
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb

ICS и Indy плюс минус 2480 пакетов успевают поймать


Indy наверняка доп. поток на каждый пакет заводят, а затем удаляют. А на это время требуется. Потоки создаются со скоростью примерно 10 тыс. в сек. С какой скоростью удаляются - не мерил.
Там вроде можно пул потоков использовать. Не пробовали?

Еще тормоза добавляет дельфёвый менеджер памяти - он не умеет паспараллеливаться по ядрам. Попробуйте потестировать на Лазарусе, тот умеет. Правда память будет ждать как паровоз. Но можно собрать из транка, там вроде проблему с пожиранием памяти устранили.
Собирать нужно как 64-битное приложение, иначе упрётесь в нехватку виртуальной памяти.
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902742
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Вангую переменную длину пакета, без указания/считывания этой длины в протоколе
cptngrb
Код: pascal
1.
2.
3.
4.
5.
6.
7.
sizePacket:= Recv(FSocket, Buffer, DefBufferSize, 0);
    if sizePacket > 0 then
    begin
      //{$IFDEF DEBUG}
      inc(FPacketCount);
      //{$ENDIF}
    end;

что и требовалось доказать

ТС, вы не пакеты тогда считайте, а прочитанные байты.
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902743
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer, это все 64 бит. пул потоков использовать не пробовал. Что хоть это?))
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902744
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_, поподробнее, пожалуйста. чем это я не пакеты считаю?
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902746
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbDefBufferSize

Чему равно?

И на вопрос о расположении WireShark ты не ответил. Вполне возможно, что пакеты теряются
уже при отправке из-за заполненности буферов системы, умолчательный размер которых как раз
в районе суммы того, что приняло ICS.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902748
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Вангую переменную длину пакета, без указания/считывания этой длины в протоколе

я знаю, что пакеты не более 2кб, поэтому Recv(FSocket, Buffer, DefBufferSize , 0);
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902750
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
DefBufferSize = 2000

WireShark там же где и моя бабалайка
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902753
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_вы не пакеты тогда считайте, а прочитанные байты.

UDP пакеты не склеиваются и не дробятся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902754
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
_Vasilisk_, поподробнее, пожалуйста. чем это я не пакеты считаю?
Я говорю о том, что такой подсчет числа пакетов бессмысленен.

Вам нужно считать число принятых байт и сравнивать с числом отправленных
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902755
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
Причем при получении пакета я ничего не делаю
не считая установки обработчика исключений и (неявного) использования управляемых типов что в плотных циклах порой непозволительная роскошь
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902756
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, еще проверял прекрасной утилитой Startrinity.NetWorkTester пакеты не теряются
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902758
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
UDP пакеты не склеиваются и не дробятся.
Не знал. А если по дороге злостный маршрутизатор с MTU = 512? Пакет в топку?

И ты утверждаешь, что если в буфер сокета пришло два пакета по 1000 байт, то я не смогу их прочитать одним recv(... 2000...)?
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902760
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vavan, а как в потоке без try..except?
а как тогда быть "использования управляемых типов что в плотных циклах"?
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902761
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_, у меня сеть без маршрутизатора
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902762
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с локалки на виртуалку
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902764
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbWireShark там же где и моя бабалайка

Которая из двух твоих блябляек: передающая или принимающая?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902765
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и сниферы тогда другую картину бы показывали, если бы передача ненадежна была
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902768
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_, в документации сказано, что более одного пакета не примешь, хоть 65000 ставь
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902770
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, только прием
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902771
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
_Vasilisk_, у меня сеть без маршрутизатора
cptngrb
с локалки на виртуалку
Ну да, а хост-машина уже маршрутизатором не является?

Третий раз вам говорю - посчитайте байты
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902777
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_, ща посчитаю
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902780
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
байты посчитаны, картина та же
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902783
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
как в потоке без try..except?
я ж не про поток вообще а про каждую итерацию цикла
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902787
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vavan, в этом конкретном случае согласен
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902792
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_А если по дороге злостный маршрутизатор с MTU = 512? Пакет в топку?

Да. И это - главная фишка UDP.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902793
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb, со мной можно и не соглашаться, тут компайлер диктует правила
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902806
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vavan, мне не понятно про управляемые типы в цикле. как по другому в этом случае ловить?
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902810
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb, не ловить в цикле, тем более в этом конкретном примере, где ловить нечего. ну и вообще избегать использования управляемых в циклах, заодно узнав сколько и каких неявных там генерится
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902842
bluestreak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не создавайте буфер на стэке. Создайте один раз и передавайте в функцию. Стеку не нужно расширяться и сжиматься в цикле, и компилятор должен будет in-line вашу функцию тем самым сэкономив на вызове
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902847
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bluestreak
Не создавайте буфер на стэке. Создайте один раз и передавайте в функцию. Стеку не нужно расширяться и сжиматься в цикле, и компилятор должен будет in-line вашу функцию тем самым сэкономив на вызове


Cтек "расширяется" одной машинной инструкцией. Тут не может быть "бутылочного горлышка".
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902852
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bluestreak, это как?
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902879
bluestreak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cptngrb
bluestreak, это как?


Создайте:

Код: plaintext
1.
2.
3.
var
  sizePacket: LongInt;
  Buffer: array [0..DefBufferSize-1] of byte;

В вызывающем методе
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902880
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bluestreakВ вызывающем методе

По сравнению с обработкой исключений локальные переменные - сущая мелочь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902882
bluestreak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Квейд
bluestreak
Не создавайте буфер на стэке. Создайте один раз и передавайте в функцию. Стеку не нужно расширяться и сжиматься в цикле, и компилятор должен будет in-line вашу функцию тем самым сэкономив на вызове


Cтек "расширяется" одной машинной инструкцией. Тут не может быть "бутылочного горлышка".


Дело не в количестве инструкций а в CPU cache consistency. Да и не сложно попробовать. Непоймать 9000 сообщений в непрерывном цикле это либо компилятор нагенерил что-то не то либо recv() под крышкой что-то делает. Вообще на unix recv() это для TCP, для UDP это recvmsg(). Но я в Делфи не спец, может там своя терминология
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902885
bluestreak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

bluestreakВ вызывающем методе

По сравнению с обработкой исключений локальные переменные - сущая мелочь.


Возможно. Хотя странно если туда код не заходит. В Java стоимость try catch будет стремиться с нулю. Делфи — не знаю
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902963
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,
  • у тебя просто поток засыпает скорее всего, поставь ему .Priority := tpHighest;
  • зачем в потоке "перевожу сокет в неблокирующий режим"? ОС лучше распределит, и возможно даже не придётся использовать tpHighest
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39902969
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)зачем в потоке "перевожу сокет в неблокирующий режим"?

А у него ещё и это есть? "Слона-то я и не приметил." Тогда да, тут уже точно удивляться
нечему.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39903011
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan), в самом первом посте при чуточке внимания вы увидите, что поток запускается с приоритетом tpHighest

Dimitry Sibiryakov, если сокет в неблокирующем режиме кол-во пакетов не меняется
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39903016
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbесли сокет в неблокирующем режиме кол-во пакетов не меняется

Убери установку буфера, неблокирующий режим и обработку исключения. Тогда можно будет
говорить глубже.

PS: tpHighest тоже убери, оно вполне может вредить в данном случае.
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39903018
pvv.pas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

facepalm
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39903020
pvv.pas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
@cptngrb,

выстави размер приёмного буфера >= 16МБ через SetSockOpt. Через гигабитную сеть мы прокачивали до 700 МБ/с без потерь, причём через свич. Для этого мы везде разрешали Jumbo frame (8196 байт) и выравнивали объём передаваемых данных на соответствующий размер. Данные инкапсулировали в свой протокол содержащий в т.ч. контроль на потери - счётчик.
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39903021
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, в Indy tpHighest по умолчанию стоит. Уберу, попробую
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39903022
pvv.pas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
@cptngrb,

Ещё надёжнее реализовать приём через снифер - библиотеку WinPCap. Делал обёртку на C++. Четырьмя 10GE портами удавалось вводить 10 Gb/s. Дальше встаёт проблема всё это объединить без потерь, но это уже другая история.
...
Рейтинг: 0 / 0
Очень быстрый прием UDP пакетов
    #39903025
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pvv.pas, в дальнейшем так и будет скорее всего.
выделение памяти нужно убирать из приема и выставлять буфер сокета побольше. на небольших скоростях ловит нормально, но при 100МБ/с уже не справляется.
уже нужно что-то уровнем ниже, возможно WinPCap.
спасибо всем за ответы
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Очень быстрый прием UDP пакетов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]