Kezdőoldal » Számítástechnika » Programozás » Delphi XE Indy IdTcpServer és...

Delphi XE Indy IdTcpServer és Client -nél miért olyan halál lassú egy néhány kb-os Stream átküldése ha LAN-on kívülre megyek?

Figyelt kérdés

LAN-on belül néhány sec alatt átmegy egy 28Mb-os fájl, kívülről(Router port átirányítás...) egy 75k fájlnak 8 sec re van szüksége. Ugyanezen fájl másolását a Teamviever 2 sec alatt megoldja.

Az Indy komponenssel van a baj?


Client:

Client.IOHandler.Write(MyStream,0,true);


Server:

cnt := AContext.Connection.IOHandler.ReadLongInt(); AContext.Connection.IOHandler.ReadStream(MsgItem.MsgFile,cnt,false);



2017. dec. 4. 14:04
 1/9 anonim ***** válasza:

Mert az Indy komponensek úgy szaharok, ahogy vannak.

Mindenki saját hálózati rutinokat ír, ha jót akar magának.

2017. dec. 4. 14:16
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
Persze lehet nálad más zűr is, collision, rossz IP kiosztás, egyéb..
2017. dec. 4. 14:17
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

"Mindenki saját hálózati rutinokat ír, ha jót akar magának."

Senki nem ír saját hálozatkezelést, ha jót akar magának.

Felhasznál valami könyvtárat, amit profik írtak.

2017. dec. 4. 14:34
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
3: Hahaha..
2017. dec. 4. 14:38
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
2017. dec. 4. 14:40
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
Tudom szobaprogramozóként ezt nehéz elképzelni, de az ipar így működik.
2017. dec. 4. 14:41
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
" I discovered a great book about how to program TCP/IP with Delphi, and within a few weeks I had the first components working. I did include most of the well-known services - Finger (client and demon), HTTP (including post and proxy support and basic authentication), FTP, time, RExec, RSh, lpr, POP3, SMTP and Mail (including MIME for file attachments), and NNTP and News. "
2017. dec. 4. 14:44
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

"Tudom szobaprogramozóként ezt nehéz elképzelni, de az ipar így működik."


Hahaha ^64.

2017. dec. 4. 14:46
Hasznos számodra ez a válasz?
 9/9 A kérdező kommentje:

Nem igazán tudom a fent említett link alatt lévő információt beilleszteni a projectbe. Néhány szóban a projectről, hogy tisztább legyen a kép :


Több modulból álló rendszer modulok közti kapcsolatát próbálom megvalósítani. A modulok egyes részeit c++-ban írják, néhány részét pedig delphiben. A rendszer maga dll-be van beágyazva. A modulok számára akommunikáció "fekete doboz" only dll függvényeket hívnak(sendMsg, SendFile...stb). A bejövő üzenet Alertet Event segítségével valósítottam meg. A dll-ben vannnak szerverek, kliensek szálak, minden ami az üzenetközvetítéséhez szükséges. És remekül működik , CSAK 1 probléma van vele hogy ha kimegyek LAN on kívülre az üzenetek hamar célba érnek, viszont a file küldés nagyon lassú. próbáltam régebben TTcpClient/TTcpServer-el, TServerSocket/TClientSocket-tel- úgy hogy átvettem egy saját, a szerver által használt szálból származtatott, általam kibővített, Szálobjektum- al megoldani az a része eléggé régimódi és az eventekkel is baj volt. Most a Az Indy eddig jól szuperált. EDDIG. Az eventek remekül működnek, elég az execute-ot megadni neki, és minden modul külön szál kontextusban csinálja a saját execut-ját. Csak ez a netes probléma ne lenne vele. Valahogyan ennek a megoldására törekednék. Nem akarom kidobni amit eddig hetek alatt készítettem.

2017. dec. 4. 15:28

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!