21. februar 2004 - 18:54
Der er
17 kommentarer og 1 løsning
Netværksprogrammering med socket
Jeg er lige startet på noget netværksprogrammering, og det jeg gerne vil lave er et serverprogram som modtager en tekst-streng fra en client, og udskriver denne. Dette virker fint når begge programmer kører på den samme computer, men jeg får denne fejl når jeg kører det på to pc'er: java.net.SocketException: Connection reset Nogen der ved hvad dette skyldes?
Annonceindlæg fra QNAP
21. februar 2004 - 19:21
#1
Husker du at slå alle firewalls fra ? Husk også at slå NAT fra hvis de er koblet til router....
21. februar 2004 - 20:20
#2
Nu synes jeg ikke at man behøver at slå firewall & NAT fra. Man kunne jo også nøjes med at lukke op for den ene port man skal bruge. Men sikkerheds indstillinger er en mulig årsag. Men jeg ville gerne se komplet fejl tekst på client og have verificeret at der ikke er fejl på server. Det sidste kunne nemlig også være årsag.
21. februar 2004 - 21:12
#3
Jeg bruger ikke firewall... Vil det siga jeg skal natte porten til serveren eller?
21. februar 2004 - 21:12
#4
dette er den eneste tekst jeg får: java.net.SocketException: Connection reset
21. februar 2004 - 21:13
#5
Der er en router
21. februar 2004 - 21:13
#6
Hvis client er udenfor din router, serveren indenfor og din router bruger NAT, så skal du forwarde den port til server maskinen i din router.
21. februar 2004 - 21:19
#7
begge min computere sidder til en switch der er forbundet til en router, så behøver jeg ikke nat..
21. februar 2004 - 21:26
#8
Vil du se koden?
21. februar 2004 - 21:27
#9
Hvis den er tilpas lille til at man kan overskue den: ja tak
21. februar 2004 - 21:29
#10
SERVEREN: import java.net.*; import java.io.*; import java.lang.*; import java.util.*; public class server2 { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(5555); while(true) { Socket incoming = serverSocket.accept(); ser pt = new ser(incoming); pt.start(); } } catch(Exception e){System.out.println("Error 1 ! - " + e.toString());} } } class ser extends Thread { Socket incoming; ser(Socket incoming) { this.incoming = incoming; } public void run() { try { DataInputStream in = new DataInputStream(incoming.getInputStream()); PrintStream out = new PrintStream(incoming.getOutputStream()); String str = in.readLine(); System.out.println(str); } catch(Exception e){System.out.println("Error 2 ! - " + e.toString());} try { incoming.close(); } catch(Exception e){System.out.println("Error 3 ! - " + e.toString());} } }
21. februar 2004 - 21:29
#11
CLIENTEN: import java.net.*; import java.io.*; public class client { DataInputStream input; public static void main(String[] args) { try { Socket socket = new Socket("10.0.0.2", 5555); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream outstream = new PrintStream(socket.getOutputStream()); outstream.println("Hej du der"); } catch(Exception e){System.out.println(e);} } }
21. februar 2004 - 22:08
#12
Har du lagt mærke til at DataInputStream readLine er depracated ?
21. februar 2004 - 22:16
#13
Hos mig virker koden fint på 2 forskellige maskiner ...
21. februar 2004 - 22:18
#14
det har jeg lagt mærke til, det virker hos dig?
21. februar 2004 - 22:19
#15
min server udskriver bare denne fejl: java.net.SocketException: Connection reset istedet for teksten. der hvor jeg udskriver error 2
21. februar 2004 - 23:12
#16
Har haft det problem da jeg afviklede tilsvarende kode på en maskine. Her havde jeg også en server og ne klient. Mit problem var, at klienten lukkede forbindelsen til serveren, hvilket resulterede i samme fejlmeddelse som din...jeg havde ikke "pakket" en sådan pludselig afslutning pænt ind i en gang try/catch. Måske det kan hjælpe i din fejlsøsgning? Hvem sagde DØK 2.år.....? God weekend Mads
24. februar 2004 - 19:09
#17
Det stinker af DØK 2. år... ;-) Er der ikke en der kan smide et svar, så jeg kan lukke spørgsmålet.... Det virkede med lidt bedre try/catch, denne del af clienten skulle have sin egen try/catch: String str = in.readLine(); System.out.println(str); Hygge....
26. februar 2004 - 23:12
#18
Lukket--------
Kurser inden for grundlæggende programmering