Jaa försöker få en förbindelse mellan två datorer med hjälp av sockets... Så där snabbt ser jag inget fel på koden. Har du testat att köra dom på samma dator? Kan vara nån brandvägg eller liknande som bråkar. De funkar inte heller... har nu löst lite av problemet genom att lägga in nu är problemet löst.. felet var bara att ett annat program använde porten som ja försökte koppla mig imot..nätverksprogrammering (nybörjare)
problemet är att dom inte kan hitta varandra, ja har exprimentera vilt utan att lyckas..
hoppas någon kan hjälpa mig genom att se min kod.
import java.io.*;
import java.net.*;
public class Serv {
public static void main(String[] args) throws IOException {
String portNr = "4444";
int lyssnarPort = Integer.parseInt(portNr);
ServerSocket lyssnarSock = new ServerSocket(lyssnarPort);
System.out.println("Lyssnar på port nr: " + lyssnarPort);
while(true){
Socket klientSock = lyssnarSock.accept();
System.out.println(klientSock.getInetAddress().getHostName()+" ansluten");
}
}
}
import java.io.*;
import java.net.*;
public class Client {
public Client() {
}
public static void main(String[] args) throws IOException {
String DNS = " Här har ja gått in på den andra datorn som är server och gått in på www.myip.se och
skrivit in DNS namnet som står har även testat med IP som står där...";
String Port = "4444"; // varför ja har valt port 4444 vet ja inte.. tog de bara..
int tillPort = Integer.parseInt(Port);
Socket tt = new Socket(DNS, tillPort);
System.out.println("Ansluter till: " + DNS + " Port Nummer: " + tillPort);
}
}Sv: nätverksprogrammering (nybörjare)
Sv:nätverksprogrammering (nybörjare)
Men nu fick ja en följande utskrift när ja debuga Clienten:
Exception in thread "main" java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:179)
at Client.main(Client.java:13)
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [../../../src/share/back/util.c:820]
Java Result: 1
någon som kan hjälpa mig??Sv: nätverksprogrammering (nybörjare)
InetAddress Host = InetAddress.getLocalHost();
nu funkar de att köra på samma dator..
Men när ja byter ut getLocalHost till getByName(IP) så får ja denna exception när ja debugar servern:
Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init
nån som kan tyda den?Sv:nätverksprogrammering (nybörjare)