29. december 2002 - 21:44
Der er
10 kommentarer og 2 løsninger
Socket server/Client
Når man etablerer en socketforbindelse imellem en client og en server, Kan man så sende data begge veje eller er det kun fra clienten til serveren?? Mvh Casualty
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
29. december 2002 - 21:45
#1
Det kan du sende begge veje.. Hvilken type socket overvejer du at bruge?
29. december 2002 - 21:49
#2
Begge veje.
29. december 2002 - 21:50
#3
scoty> Man må vel formode, at det er et ganske almindeligt Socket både på client og server.
29. december 2002 - 21:52
#4
casualty> Det er anbefalelsesværdigt at definere protokollen mellem client og server helt klart, så man ikke risikerer at de venter på hinanden. Simpleste model er: client skriver, server læser, server skriver, client læser.
29. december 2002 - 21:52
#5
Min server: public void strtSrv() { try { server = new ServerSocket(4444); } catch (IOException e) { System.out.println(e); System.exit(0); } while(true) { ClientWorker w; try { w = new ClientWorker(server.accept(),frame,this,toggle);//returnerer en streng med useroplysninger... Thread t = new Thread(w); t.start(); } catch (IOException e) { System.out.println(e); } } } Min client: public boolean connect() { try { soc = new Socket("10.0.1.97",4444); return true; } catch(Exception e) { System.out.println(e); error = e.toString(); return false; } }
29. december 2002 - 21:54
#6
Og så sender jeg et object til serveren: public void run() { for(;;) { try { ObjectInputStream ois = new ObjectInputStream(client1.getInputStream()); msg = (String[])ois.readObject(); } catch (Exception e) { System.out.println(""+e); } } }
29. december 2002 - 21:54
#7
Din klient har en Socket og din server tråd har en Socket og de burde kunne kommunikere på livet løs.
29. december 2002 - 21:57
#8
Oki...Jeg prøver at kigge på det... Tak for hjælpen...
29. december 2002 - 21:57
#9
Du kan godt: public void run() { for(;;) { try { ObjectInputStream ois = new ObjectInputStream(client1.getInputStream()); msg = (String[])ois.readObject(); ObjectOutputStream oos = new ObjectOutputStream(client1.getOutputStream()); oos.writeObject("message received"); } catch (Exception e) { System.out.println(""+e); } } }
29. december 2002 - 21:58
#10
Det burde være uproblematisk. Eneste potentielle risiko er, hvis serveren venter på noget fra klienten og klienten venter på noget fra serveren (jævnfør tidligere kommentar).
30. december 2002 - 21:37
#11
Tak for hjælpen ;-) Mvh Casualty
30. december 2002 - 21:40
#12
Kan jeg så bare skrive til den med: oos.writeObject(msg); ??
Kurser inden for grundlæggende programmering