Autor | Zpráva | ||
---|---|---|---|
Janča N. Profil |
#1 · Zasláno: 22. 5. 2012, 01:36:31
Zdravím, pokouším se implementovat jeden autentizační protokol a potřebuji v jedné třídě, kde mám již vytvořené dva objekty (dva klienty - a, b), spojit tyto klienty přes Socket.
Normálně vím, jak socket spojit, ale tím, že je to v jedné třídě a pokud vytvořím např: ServerSocket sSocket = new ServerSocket(50); sSocket.accept(); Tak se vlákno na tom naslouchání (acceptu) zastaví a když se tedy budu chtít s klientem připojit bezprostředně poté ServerSocket sSocket = new ServerSocket(50); sSocket.accept(); Socket socket = new Socket("127.0.0.1", 50); tak tam samozřejmě zpracování nedojde. Pokud vytvořím Socket socket = new Socket("127.0.0.1", 50); před Serverovým, tak mi vyhodí vyjímku, že port je už používán.
Nezná někdo nějaké elegantní řešení, jak v jedné třídě spojit dva klienty? Asi se vláknům nevyhnu, že? |
||
joe Profil |
Janča N.:
A můžeš sem napsat, proč to chceš v jedné třídě? Podle mě to je běžné, že se pro každé spojení použije vlákno. |
||
Janča N. Profil |
#3 · Zasláno: 22. 5. 2012, 01:56:46
Původně to bylo z důvodu, že jsem myslela, že existuje nějaká metoda, která se přímo připojí na určitý port - bez toho serverového naslouchání.
Nicméně už je to vyřešené. Nejjednodušší řešení bývají nejlepší...a napadnou mi většinou až když nějak formuluju dotaz :) Tak se omlouvám za zbytečné vlákno ;) |
||
joe Profil |
#4 · Zasláno: 22. 5. 2012, 02:04:20
Janča N.:
Napíšeš sem jak jsi to udělala? :-) Už jsem Javu neviděl hodně dlouho a když jsem to chtěl zkusit, tak mi to nějak nešlo... díky |
||
Časová prodleva: 13 let
|
0