Client server applikacija

Vse kar se tiče programiranja za internet.
fora
Prispevkov: 220
Pridružen: 06.08.2003 19:31:22

Client server applikacija

Odgovor Napisal/-a fora » 30.11.2007 13:00:12

Nekej testiram in poskušam narediti eno client server aplikacijo, pa me sedaj zanima, kako prenašati podatke preko interneta? Mislil sem uporabiti Indy TCP/IP server in client, vendar so komponente zelo čudne (ni event-a onClientConnect, onDataReceive, onDataSend, ...).

Delal bom samo s stream-i. Se pravi read stream in write stream. Kakšne dodatne funkcije odpadejo. Server bo napisan v delphiju, client pa v delphiju in c#. Vem da bom moral narediti dva ločena clienta, govorim samo zato, da boste vedeli, da morajo biti take komponente, ki bodo delale in se znale povezavati tudi v c#.

Torej katere komponente uporabit. Je indy vredu? Je kje kakšen primer. V moji mapi demos ni nič.

fora
Prispevkov: 220
Pridružen: 06.08.2003 19:31:22

Client server applikacija

Odgovor Napisal/-a fora » 30.11.2007 14:25:26

Ja zej sem v helpu najdu TServerSocket in TClientSocket, vendar to nista vizualni komponenti, vendar pa sta po mojem ravno to kar rabim?

riko
Prispevkov: 444
Pridružen: 25.02.2004 12:40:57

Client server applikacija

Odgovor Napisal/-a riko » 30.11.2007 14:46:29

Ej ti si pa res ena taprava Fora.
Uporabiš lahko vizuelni komponenti TidTCPClient in TidTCPServer in property Intercept,
kjer boš počel lahko vse to kar želiš. :roll:

fora
Prispevkov: 220
Pridružen: 06.08.2003 19:31:22

Client server applikacija

Odgovor Napisal/-a fora » 30.11.2007 15:01:24

Ja oky sam tele komponente so tko kr mal preveč šare že majo. Mam rad enostavne stvari. No sej najbrž drugač ne bo šlo, sam kšn demo rabm dobit.
A kdo pozna ICS od http://www.overbyte.be/frame_index.html

Uporabniški avatar
Runner
Prispevkov: 1079
Pridružen: 03.02.2005 12:05:25

Client server applikacija

Odgovor Napisal/-a Runner » 30.11.2007 15:05:33

Ja, ICS je dober package. Predvsem ni zašarjen z nepotrebno kramo. Sicer recimo da ga je malce težje za uporabljati kot Indy ampak se splača. Sploh če ciljaš na stabilnost.

Lahko mirno delaš z ICS-jem. Samo ne uporabljaj tistih komponent ki pridejo že zraven Delphi-ja.
Zadnjič spremenil Runner, dne 30.11.2007 15:06:04, skupaj popravljeno 1 krat.

riko
Prispevkov: 444
Pridružen: 25.02.2004 12:40:57

Client server applikacija

Odgovor Napisal/-a riko » 30.11.2007 18:15:08

Te komponente majo samo tolk šare, kr jo rab TPC/IP protokol za svoje delo.
Drgač je pa bolš uporabt UDP, precej hitrejš, pa mal več del, ne velik. :D

Uporabniški avatar
Runner
Prispevkov: 1079
Pridružen: 03.02.2005 12:05:25

Client server applikacija

Odgovor Napisal/-a Runner » 30.11.2007 19:55:53

@riko

Poglej si Indy package in poglej si ICS package. Boš videl o čem govorim. Govoril sem o package-ih ne o komponentah. Nadalje poglej kako delata oba paketa na nivoju TCP IP-ja. Razlike so velike in nedvomno je kakovost na strani ICS-ja. Potem si poglej še politiko Indy-a na primer pri izdajanju novih verzij (teh sploh ni so samo daily buildi) itd...

Na koncu potegni črto in videl boš kaj sem mislil. Tudi na nivoju komponent ne moreš govoriti o nečemu kar naj bi bil "tanek" ovoj okoli TCP protokola. Sicer pa ne zanikam da je Indy priročen in tudi ne tako slab da ne bi bil uporaben. Sam sem ga že velikokrat uporabil, tudi pri resnih projektih, vendar nikoli za kaj zelo kompliciranega. "Out of the box" pa je prav ok zadeva.

Glede UDP-ja pa tako. Če ne rabiš potrditev in se ti kdaj kaj lahko tudi izgubi je ok. Predvsem je dober za prenos preko LAN omrežij, kjer so izgube malo verjetne. Za prenos preko interneta je pa že veliko vprašanje če je to res kar rabiš. Se pa strinjam. v določenih primerih je boljša izbira kot TCP. Ampak vedno je potrebno pogledati kaj projekt potrebuje.

fora
Prispevkov: 220
Pridružen: 06.08.2003 19:31:22

Client server applikacija

Odgovor Napisal/-a fora » 03.12.2007 08:27:58

oky hvala. Glede nato da bom prenašal tabele, bom izbral kar tcp.
Hvala še enkrat

Uporabniški avatar
Lee_Nover
Prispevkov: 3653
Pridružen: 20.05.2001 14:31:55

Client server applikacija

Odgovor Napisal/-a Lee_Nover » 03.12.2007 09:25:41

kaj, ko bi to ze takoj napisal .. bi ti sigurno kdo svetoval ClientDataSet + Remote Data Module
.. my 2 c ..
- I hate noobs -

fora
Prispevkov: 220
Pridružen: 06.08.2003 19:31:22

Client server applikacija

Odgovor Napisal/-a fora » 03.12.2007 14:10:52

Jah malce sem posplošil zadeve, vendar stva rpoznam in ne pride v poštev.

Ima slučajno kdo kašen primer ki dela s streami read in receive, ne pa z stringi in celimi vrsticami? Ful bi mu bil hvaležen, da vidim kako naredit metodo on receive data. Ker koliko sem razumel te komponente sedaj, imajo samo onReceiveData. Nikoli pa ne veš kdaj nehaš sprejemat. In kaj če klient na enkrat pošlje dve GB datoteki. Kaj se bo zgodilo. Ali pa takoj eno za drugo. Kako bom vedel kdaj se prva začne in kdaj konča.

Tko da kšn primer če ma kdo ali pa je najdu na netu, ali pa ko je sam testirol, ....

Odgovori