» »

[Java-Applet] socket

[Java-Applet] socket

shorvat ::

Lep pozdrav,

začel sem se učiti socket programming v Javi in ne morem rešiti ene zadeve. Vedno ko kličem .accept() metodo, se izvajanje celotnega programa ustavi.

V init() metodi kličem metodo beri(), v kateri se izvede metoda .accept(), ki mi ustavi delovanje celotnega programa in čaka na to, da client pošlje podatke. Ko so podatki poslani, se program normalno dalje izvede. Kako se je mogoče temu čakanju izogniti? Je možno, da .accept() metoda deluje v ozadju?

lp, sašo

l0g1t3ch ::

Seveda je mogoče.
Vsako stvar daj v svojo nit. Recmo ena nit v kateri obdeluješ vse v zvezi z povezavo in druga za vmesnik in ostale zadeve

shorvat ::

hvala, veliko mi pomeni ta odgovor. predvidevam da je nit thread. zanima me še, če je možno v enem clasu uporabiti več niti? dva dni nazaj sem se začel ubadati z javo, pa se še lovim. imam pa kar nekaj izkušenj z c++, c#, php in javascript, ampak nisem nikoli uporabljal niti.

še eno vprašanje na tem mestu. implementiral sem server in client (applet). v client (textfield) vpišeš besedo, ki se prenese na server in se tam izpiše, v clientu se izpiše isti niz z "nazaj_" predpono. zadeva deluje na mojem lokalnem računalniku (ne v lokalnem omrežju ampak samo na moji kišti). Nikakor nisem mogel prilagaditi, da bi delovalo to na lokalnem omrežju. na kišti imam inštaliran apache server. še del kode od serverja in clienta:

server:

byte[] b = new byte[4];
b[0] = new Integer(127).byteValue();
b[1] = new Integer(0).byteValue();
b[2] = new Integer(0).byteValue();
b[3] = new Integer(1).byteValue();

try {
InetAddress addr = InetAddress.getByAddress(b);
MyServerice = new ServerSocket(1516,1,addr);
}
catch (IOException e)

client:

byte[] b = new byte[4];
b[0] = new Integer(127).byteValue();
b[1] = new Integer(0).byteValue();
b[2] = new Integer(0).byteValue();
b[3] = new Integer(1).byteValue();


try
{
addr = InetAddress.getByAddress(b);
MyClient = new Socket(addr, 1516);
}
catch (IOException e)
{
na = "IO napaka";
}


to je del kode, za katero mislim, da je pomembna za to, da deluje tudi na strežniku. Zamenjal sem IP(127.0.0.1) z IPjem (192.168.1.212) moje mrežne in zagnal strežnik na moji kišti, in se probal s clientom povezati preko očetove (local network) in se strežnik in client nekako ne ujameta. Izklopil sem vse mogoče (win firewall, antivirus, v routerju sem dodal IP v port forwarding) pa nič. Help me please.

lp, sašo


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Java] Integer ali int za List

Oddelek: Programiranje
142270 (1785) noraguta
»

Java skeniranje map in podmap

Oddelek: Programiranje
61159 (1048) nightrage
»

[JAVA] branje iz datoteke

Oddelek: Programiranje
242413 (2048) Bela01
»

[java] Runtime.exec()

Oddelek: Programiranje
111898 (1771) borchi
»

Kako pošiljanje datotek v JAVI.

Oddelek: Programiranje
141844 (1715) kopernik

Več podobnih tem