Výsledky 1 až 13 z 13

Téma: [java] problem se sockety

  1. #1
    Senior Member Avatar uživatele jaluvkap
    Založen
    23.10.2002
    Bydliště
    Koprivnice
    Věk
    41
    Příspěvky
    851
    Vliv
    287

    Standardní [java] problem se sockety

    Zdravim, potreboval bych poradit, jak zjistim, jestli na druhe strane spojeni jeste nekdo prijima moje data nebo ne. Delam jednoduchy chat a kdyz je klient prihlaseny a sestrelim server, tak klient jeste chvili muze psat do streamu na server ... k vyjimce dojde az po nejake dobe a mezitim stihnu poslat treba jeste 2 zpravy ... isxxx metody jsou furt stejne ... nevite nekdo jak se da zjistit, jestli je socket/stream jeste pouzitelny?
    HOME 1 : WINDOWS 7 - ASUS P5Q-E - E2160@default - 4GB A-Data DDR2 800EE - Noctua NH-U12P - MSI HD5870 1GB@default - WD5000AAKS - WD 3200AAKS - WD 10EADS - WD 15EADS - Samsung 2.5" 320GB USB - Samsung 183L - HP LP2465 - Delta 700W from HP - 2xNF-P12 - Chieftec WH-02B-B-OP
    HOME 2 : Windows XP - Asus K8V-XE - A64 3000+@250*10/1.42V - Corsair Value 1024MB 2.5/3/3/6 333MHz - Samsung SP1614N - Toshiba M1712 - Diamondtron AOC 7A+ - Modecom Feel-V

  2. #2
    Senior Member mince Avatar uživatele mraky
    Založen
    16.10.2002
    Bydliště
    Praha
    Příspěvky
    1 166
    Vliv
    296

    Standardní Re: [java] problem se sockety

    Nech si data od serveru potvrzovat.
    Pište česky: hold × holt

    hold – projev pocty nebo úcty (další význam je výkupné, vynucený poplatek ve válce)
    holt – povzdech; ve významu „inu, zkrátka a dobře“

  3. #3
    Senior Member Avatar uživatele jaluvkap
    Založen
    23.10.2002
    Bydliště
    Koprivnice
    Věk
    41
    Příspěvky
    851
    Vliv
    287

    Standardní Re: [java] problem se sockety

    Citace Původně odeslal mraky Zobrazit příspěvek
    Nech si data od serveru potvrzovat.
    To se lehce rekne ale hur udela ... musel bych toho celkem dost prekopat ... preci musi existovat moznost, jak zjistit, jestli je spojeni jeste otevreno, nebo uz neni ...
    HOME 1 : WINDOWS 7 - ASUS P5Q-E - E2160@default - 4GB A-Data DDR2 800EE - Noctua NH-U12P - MSI HD5870 1GB@default - WD5000AAKS - WD 3200AAKS - WD 10EADS - WD 15EADS - Samsung 2.5" 320GB USB - Samsung 183L - HP LP2465 - Delta 700W from HP - 2xNF-P12 - Chieftec WH-02B-B-OP
    HOME 2 : Windows XP - Asus K8V-XE - A64 3000+@250*10/1.42V - Corsair Value 1024MB 2.5/3/3/6 333MHz - Samsung SP1614N - Toshiba M1712 - Diamondtron AOC 7A+ - Modecom Feel-V

  4. #4
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 738
    Vliv
    300

    Standardní Re: [java] problem se sockety

    Slusnej srv/klient ti to pri ukonceni rekne - trebas posle rst.
    IMPROBE AMOR, QUID NON MORTALIA PECTORA COGIS - krutá jsi, lásko, kam až ty doženeš smrtelná srdce -- Vergilius
    Mnoho je prostředků, které léčí lásku, ale žádný není spolehlivý.
    S tím, čeho se na nás dopustili druzí se už nějak vyrovnáme. Horší je to s tím, čeho jsme se na sobě dopustili sami.
    -- Francois La Rochefoucauld
    Nabídnout přátelství tomu, kdo chce lásku, je jako dát chleba tomu, kdo umírá žízní.

  5. #5
    Senior Member Avatar uživatele jaluvkap
    Založen
    23.10.2002
    Bydliště
    Koprivnice
    Věk
    41
    Příspěvky
    851
    Vliv
    287

    Standardní Re: [java] problem se sockety

    Citace Původně odeslal Jezevec Zobrazit příspěvek
    Slusnej srv/klient ti to pri ukonceni rekne - trebas posle rst.
    On je maly, ale vcelku patrny rozdil mezi ukoncit a sestrelit ... alespon z meho pohledu ... proste se bavim o ukonceni, kdy mi server uz nic nemuze poslat, protoze proste nema sanci ... napr. hw reset ... hledal jsem ruzne a zatim jsem nasel jen to, ze java to proste asi neumi ... pokud ma nekdo jinou zkusenost, necht se podeli ...
    HOME 1 : WINDOWS 7 - ASUS P5Q-E - E2160@default - 4GB A-Data DDR2 800EE - Noctua NH-U12P - MSI HD5870 1GB@default - WD5000AAKS - WD 3200AAKS - WD 10EADS - WD 15EADS - Samsung 2.5" 320GB USB - Samsung 183L - HP LP2465 - Delta 700W from HP - 2xNF-P12 - Chieftec WH-02B-B-OP
    HOME 2 : Windows XP - Asus K8V-XE - A64 3000+@250*10/1.42V - Corsair Value 1024MB 2.5/3/3/6 333MHz - Samsung SP1614N - Toshiba M1712 - Diamondtron AOC 7A+ - Modecom Feel-V

  6. #6

    Standardní Re: [java] problem se sockety

    Citace Původně odeslal jaluvkap Zobrazit příspěvek
    On je maly, ale vcelku patrny rozdil mezi ukoncit a sestrelit ... alespon z meho pohledu ... proste se bavim o ukonceni, kdy mi server uz nic nemuze poslat, protoze proste nema sanci ... napr. hw reset ... hledal jsem ruzne a zatim jsem nasel jen to, ze java to proste asi neumi ... pokud ma nekdo jinou zkusenost, necht se podeli ...
    Co mas presne na mysli tim "odstrelit"?

  7. #7
    Senior Member Avatar uživatele jaluvkap
    Založen
    23.10.2002
    Bydliště
    Koprivnice
    Věk
    41
    Příspěvky
    851
    Vliv
    287

    Standardní Re: [java] problem se sockety

    Citace Původně odeslal jedik Zobrazit příspěvek
    Co mas presne na mysli tim "odstrelit"?
    Napr. hw reset ... proste situaci, kdy nemam sanci uz ze serveru neco odeslat
    HOME 1 : WINDOWS 7 - ASUS P5Q-E - E2160@default - 4GB A-Data DDR2 800EE - Noctua NH-U12P - MSI HD5870 1GB@default - WD5000AAKS - WD 3200AAKS - WD 10EADS - WD 15EADS - Samsung 2.5" 320GB USB - Samsung 183L - HP LP2465 - Delta 700W from HP - 2xNF-P12 - Chieftec WH-02B-B-OP
    HOME 2 : Windows XP - Asus K8V-XE - A64 3000+@250*10/1.42V - Corsair Value 1024MB 2.5/3/3/6 333MHz - Samsung SP1614N - Toshiba M1712 - Diamondtron AOC 7A+ - Modecom Feel-V

  8. #8

    Standardní Re: [java] problem se sockety

    Citace Původně odeslal jaluvkap Zobrazit příspěvek
    Napr. hw reset ... proste situaci, kdy nemam sanci uz ze serveru neco odeslat
    Pohrat s setSoTimeout jsi zkousel?

    [edit] Po zbeznem guglnuti jsem nasel totok , treba tam bude neco poucneho

  9. #9
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 738
    Vliv
    300

    Standardní Re: [java] problem se sockety

    Kvuli tomu sestreleni je tam prave ten timeout, nijak jinak to zjistit nemuzes. Muzes si maximalne zmenit timeout, ale u toho pozor, protoze by se ti mohlo lehce stat, ze neco zvojtis a prestane ti fungovat sitovani obecne.
    IMPROBE AMOR, QUID NON MORTALIA PECTORA COGIS - krutá jsi, lásko, kam až ty doženeš smrtelná srdce -- Vergilius
    Mnoho je prostředků, které léčí lásku, ale žádný není spolehlivý.
    S tím, čeho se na nás dopustili druzí se už nějak vyrovnáme. Horší je to s tím, čeho jsme se na sobě dopustili sami.
    -- Francois La Rochefoucauld
    Nabídnout přátelství tomu, kdo chce lásku, je jako dát chleba tomu, kdo umírá žízní.

  10. #10

    Standardní Re: [java] problem se sockety

    S tim timeoutem to nebude moc staiblni reseni imho. Socket by mel mit property (nevim jak je to v Jave) .Connected nebo .CanWrite a tu bys mohl testovat. Exception trochu trva nez se vypropaguje nahoru. Nevim jak to tam delas, ale pokud mas treba nejaky buffer zprav, tak bys mel premyslet o protokolu (treba BEGIN{pocet_znaku}zpravaEND a cekat na ACK{bytes_received} a pak teprve posilat dalsi zpravu.
    ..-= Let's go rock'n'restart =-..

  11. #11

    Standardní Re: [java] problem se sockety

    O ACKovani se snad stara uz samotny TCP protokol, tak proc to duplikovat?

    Fanless Experiment || Gigabyte Z77-DS3H | Intel i5-3570K | Thermalright HR-02 | 16G DDR3 | Sapphire HD 7750 Ultimate | Crucial M4 256GB | Seasonic X-400FL | Fractal Define R4
    Dell D430 || i945G | C2D 1.2G ULV | 2G DDR2 533 | GMA950 | 12" 1280x800 | 80G 4k2 | 802.3ab | 802.11g | 802.15.1 | HSDPA | Windows 7 x64
    Storage || i965G | E2200 | 4G DDR2 | RAID5 6x Samsung HD154UI 1.5TB - ~7TiB | 802.3ab ...powered by Ubuntu Server x64
    Accessories || E-MU Tracker Pre USB 2.0 | Meier Corda Headsix | Sony MDR-CD470 | Pioneer A-204R | Tesla ARS 9218 32 | LG 32LD350

    "Music is essentially useless, as life is." George Santayana


  12. #12
    Senior Member Avatar uživatele jaluvkap
    Založen
    23.10.2002
    Bydliště
    Koprivnice
    Věk
    41
    Příspěvky
    851
    Vliv
    287

    Standardní Re: [java] problem se sockety

    Pravda o ACKovani se stara TCP ... nakonec jsem to uhral na vlastnost javy ... byl to projekt do jednoho predmetu, takze to proslo ... pro priste se budu drzet pravidla 2xsi prostuduj jazyk a pak navrhuj protokol
    HOME 1 : WINDOWS 7 - ASUS P5Q-E - E2160@default - 4GB A-Data DDR2 800EE - Noctua NH-U12P - MSI HD5870 1GB@default - WD5000AAKS - WD 3200AAKS - WD 10EADS - WD 15EADS - Samsung 2.5" 320GB USB - Samsung 183L - HP LP2465 - Delta 700W from HP - 2xNF-P12 - Chieftec WH-02B-B-OP
    HOME 2 : Windows XP - Asus K8V-XE - A64 3000+@250*10/1.42V - Corsair Value 1024MB 2.5/3/3/6 333MHz - Samsung SP1614N - Toshiba M1712 - Diamondtron AOC 7A+ - Modecom Feel-V

  13. #13

    Standardní Re: [java] problem se sockety

    Prenos dat urciteho formatu se bez protokolu prakticky neobejde. To o cem mluvis je na urovni socketu kdy pokud neprijde ACK, tak se znovu posle packet, ktery selhal, nebo se ceka na ACK a pak se timeoutne. To ale muze v zavislosti na rychlosti spojeni trvat dele, takze kdyz da timeout na Xms tak mu to muze timeoutovat az se bude divit. Tenhle problem to neresi, neni to ACK serveru, ale socketu na druhe strane. Pokud to dela tak, ze sype data do socketu a na druhe strane si je ze socketu odebira, tak jak prijdou a o nic se nestara, tak mu to bude tohle chovani vykazovat dal. Nejsem si jisty implementaci socketu v Jave, ale jestli to vyuziva winsock (nebo jinou zajimavost podle OS), tak to sype do bufferu a kdyz na drueh strane server spadne, tak bude sypat dal nez se buffer naplni nebo se mu vypropaguje vyjimka. Mel by implementovat jednoduchy protokol (treba to begin{}&end+ack{}) a cekat na ACK serveru predtim, nez zacne posilat dalsi zpravu, to mu zajisti to, ze kdyz se neco potento a server z jakychkoliv duvodu neprijima, tak neposle nic dalsiho a muze vesele vyhodit dialog "previous message in progress". Server nemusi byt jen sestrelen, staci, aby selhalo neco jineho treba ukladani vetsich zprav na disk do mezi bufferu nebo cokoliv jineho.
    Naposledy upravil beerak; 03.05.2007 v 14:57.
    ..-= Let's go rock'n'restart =-..

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. Problém (nejen) se statickou elektřinou a (nejen) USB
    Založil Arthur Dent v sekci fóra Ostatní hardware
    Odpovědí: 9
    Poslední příspěvek: 07.08.2008, 13:21
  2. FAQ - Ctete prvni [UPDATE 25.11.2004]
    Založil wong v sekci fóra Operační systémy na bázi Unixu
    Odpovědí: 10
    Poslední příspěvek: 08.10.2006, 22:40
  3. Problem se sestavou se MB MSI K8N NEO4-F
    Založil czbacil v sekci fóra NVIDIA čipové sady
    Odpovědí: 11
    Poslední příspěvek: 30.07.2006, 12:10
  4. Odpovědí: 0
    Poslední příspěvek: 16.01.2006, 20:16
  5. Problem se ztratou dat - VYRESENO
    Založil admix v sekci fóra Pevné disky a řadiče
    Odpovědí: 6
    Poslední příspěvek: 19.09.2003, 23:26

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •