public static void main(String[] args) { final int port = 800; //porten vi vil lytte på.
System.out.println("[server] Starter echo server på port "+port);
ServerSocket srv = null; try { srv = new ServerSocket(port); } catch (BindException be) { System.out.println("[server] Kunne ikke lytte på "+port); System.exit(1); } catch (IOException e) { System.out.println("[server] Kunne ikke åbne server-socket"); e.printStackTrace(); System.exit(1); }
Socket sock = null; try { while ((sock = srv.accept()) != null) { InetAddress remoteHost = sock.getInetAddress(); int remotePort = sock.getPort(); System.out.println("[server] Accepterede forbindelse fra "+ remoteHost.getHostAddress()+ ":"+remotePort);
InputStream in = sock.getInputStream(); //Stream til indkommende data OutputStream out = sock.getOutputStream(); //Stream til udgående data
byte[] buffer = new byte[16384]; //16kb buffer while (true) { /* InputStream's read(byte[], int, int) metode returnerer enten: Antallet af læste tegn -1, hvis der ikke kunne læses data (Hvis slutningen af streamen er nået). */ int read = in.read(buffer, 0, buffer.length); //læs op til MAX_SIZE tegn.
if (read == -1) break; //echo ikke hvis der ikke kunne læses data
out.write(buffer, 0, read); //skriv tegn tilbage til klienten } System.out.println("[server] Forbindelse afbrudt.."); } } catch (IOException e) { System.out.println("[server] Fejl: Input/Output fejl"); e.printStackTrace(); System.exit(1); } } }
dette er min kildekode..
lige meget hvilken port jeg prøver at lytte på.. kan jeg ikke lytte på den.. hvorfor?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
[server] Starter echo server på port 10000 java.net.BindException: Address already in use: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(Unknown Source) at java.net.ServerSocket.bind(Unknown Source) at java.net.ServerSocket.<init>(Unknown Source) at java.net.ServerSocket.<init>(Unknown Source) at EchoServer.main(EchoServer.java:19)
det er med denne kode (den rettede med dit ofrslag):
InputStream in = sock.getInputStream(); //Stream til indkommende data OutputStream out = sock.getOutputStream(); //Stream til udgående data
byte[] buffer = new byte[16384]; //16kb buffer while (true) { /* InputStream's read(byte[], int, int) metode returnerer enten: Antallet af læste tegn -1, hvis der ikke kunne læses data (Hvis slutningen af streamen er nået). */ int read = in.read(buffer, 0, buffer.length); //læs op til MAX_SIZE tegn.
if (read == -1) break; //echo ikke hvis der ikke kunne læses data
out.write(buffer, 0, read); //skriv tegn tilbage til klienten } System.out.println("[server] Forbindelse afbrudt.."); } } catch (IOException e) { System.out.println("[server] Fejl: Input/Output fejl"); e.printStackTrace(); System.exit(1); } } }
jeg kører den i eclipse (da min command consol automatisk lukker ned direkte efter start)--... AAAH!.. har lige fundet ud af at jeg glemte at "terminate" programmet i eclipse... troede at den selv gjorde det..!..
forrestsen!..har også en client del, kan jeg bare køre den i eclipse bagefter?.. og så burde den kunne læse ?
JAAAA :D.. det virker.. takker.. forrestn.. kan du fortælle mig hvorfor at min cmd lukker igen lige så snart jeg går i "kør -> 'cmd'"?.. det er rigtig irriterende
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.