Re: Pořadí packetů
Slavomir Skopalik
skopalik na elektlabs.cz
Pondělí Květen 9 13:09:54 CEST 2016
Ono ani tak nezalezi jak je zivo u ostatnich spojeni.
Dulezite je, zda ma kazdy send okamzite poslat paket (No Delay option),
nebo zda muze ip stack cekat, az se naplni MTU.
My s tim meli dost velke problemy, jelikoz co verze OS, to jiny IP stack.
Navic tech 200ms se neuplatnuje u localhostu, takze nekteri programatori
"odladili" sw na localhostu s tim, at si to vyresi admin site.
Ohledne retranslace, tak do Windows 2000 SP2 to byla 1s a delsi, od SP3
to zmenili, ze pokud ACK nedojde v "obvyklem" case, tak se automaticky
zahaji retranslace. TCP neumi odeslat "nedostal jsem ty data", umi pouze
potvrzeni.
Slavek
Ing. Slavomir Skopalik
Executive Head
Elekt Labs s.r.o.
Collection and evaluation of data from machines and laboratories
by means of system MASA (http://www.elektlabs.cz/m2demo)
-----------------------------------------------------------------
Address:
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
---------------------------------------------------------------
Mobile: +420 724 207 851
icq:199 118 333
skype:skopaliks
e-mail:skopalik na elektlabs.cz
http://www.elektlabs.cz
On 9.5.2016 12:47, Jiří Nesvačil wrote:
> Tech 200ms je jen optimalizace pro male prenosy, nicmene na siti muze
> byt zivo. To muze zatezovat CPU nechtene. Tech 200 ms je docela dost,
> nepamatuji si ty timeouty, ale povidani nedostal jsem data, dodej bude
> rychlejsi.
>
> http://smallvoid.com/article/winnt-nagle-algorithm.html
>
> Jirka
> Dne 9. 5. 2016 v 11:45 Slavomir Skopalik napsal(a):
>> Je tomu tak pouze v pripade, ze vysledny packet je vetsi, nebo roven
>> MTU, jinak se ceka 200ms.
>> Ve windows si TCP/IP stack detekuje, jak jsou prikazy za sebou.
>>
>> Kod pro synapse, jenz to vypne:
>>
>> function TComThread.SetNoDelay(NoDelay:boolean): boolean;
>> var flag:LongInt;
>> begin
>> result:=false;
>> if (not TCP) or (Socket=nil) then exit;
>> flag:=ord(Nodelay);
>> result:=synsock.SetSockOpt(Socket.Socket,IPPROTO_TCP,TCP_NODELAY, na flag,sizeof(flag))=0;
>>
>> end;
>>
>> Slavek
>>
>>> Dík, prostuduji. Já to dělám tak, že vytvořím string, který obsahuje
>>> vše, co mám k odeslání a volám SendString. Předpokládal jsem, že se
>>> okamžitě začne odesílat, až se odešle celý řetězec. Není to tak?
>>>
>>> Martin Záruba
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160509/8671bf14/attachment.html>
Další informace o konferenci Hw-list