[Javalist] java socket multiple request

Dénes Medzihradszky medzihradszky.denes at gmail.com
2016. Jan. 15., P, 13:17:33 CET


Üdv a listának!

Nincs itt valami félreértés?
A kliens socket nem zárható le a szerver által, a szerver max a saját
socketjét zárhatja le - amit pl a ServerSocket-től kap - hiszen a kliens
tipikusan egy másik JVM-ben fut.
Inkább arról van szó, hogy a szerver oldali socket lezárásával a kliens már
nem tud ismételten kapcsolódni.
Oktatóprogramjaimban itt végtelen ciklusok pörögnek, és/vagy a ServerSocket
kapcsolódáskor - accept() - külön szálat indít a létrejött socket
objektummal.


Dénes

2016-01-15 12:48 GMT+01:00 József Keresztes <xesj.hu at gmail.com>:

> Azt hiszem közben megoldódott. A szerver oldalon lehetett a hiba, ugyanis:
>
> Socket socket = serverSocket.accept();
> ...
> // input olvasás, output írás
> ...
> socket.close();
>
> és ez utóbbi miatt a kliens socketet a szerver zárta le, így a kliens már
> nem tudott több kommunikációt kezdeményezni.
> Valszeg a kliens és szerver kzötti kommunikációt kell egyeztetni (egy
> protokolt kitalálni) mikor és ki zárja le a kapcsolatot.
> Köszönöm a netty ötletet, de engem most pont a low level szint érdekel.
>
> Joe
>
>
> 2016. január 15. 12:34 László Magyar írta, <magyarl05 at gmail.com>:
>
>> Üdv,
>>
>> Ajánlanám TCP és egyéb I/O kommunikációra a netty <http://netty.io/>
>> projektet, ami a "low level" dolgokat elintézi.
>>
>>
>>
>> 2016. január 15. 12:27 József Keresztes írta, <xesj.hu at gmail.com>:
>>
>>> Sziasztok !
>>>
>>> A neten keresgéltem, de nem találtam a problémára megoldást.
>>> A lényeg hogy TCP-s kommunikációt szeretnék egy szerverrel.
>>> A kliensben létrehozok egy Socket objektumot, és ezzel a socket-tel
>>> akarok
>>> több kérést(választ) csinálni. Tehát csak egyszer akarom a Socket-et
>>> létrehozni,
>>> majd ezen a csatornán írnék az outputstream-be, és olvasnám az
>>> inputstream-et,
>>> majd ismét írnék az outputstream-be, és olvasnám az inputstream-et...stb.
>>>
>>> A neten csak olyan példát láttam hogy a kliens egy kérés-válasz után
>>> lezártja a socket-et.
>>> Ha akar valamit újra létrehozza. Nekem ez kicsit furcsa, igaz méréseim
>>> szerint a gépemen egy socket 10-20 ms alatt létrejön, de miért kellene
>>> minden egyes kérésnél újra létrehozni ?
>>>
>>> Java-tól függetlenül: én eddig úgy gondoltam ha pl. egy adatbázishoz be
>>> vagyok jelentkezve egy klienssel, és percenként küldöm el az
>>> SQL-parancsaimat, akkor nem kezdi el mindig felépíteni nulláról a
>>> kapcsolatot az adatbázissal.
>>>
>>> Joe
>>>
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at lists.javaforum.hu
>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>>
>>>
>>
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>
>>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20160115/472bfa4b/attachment.html>


További információk a(z) Javalist levelezőlistáról