BindException: Address already in use?
Hello,
Here is the problem I would like to ask about.
Lets assume I created two projects - one for Client and one for Server.
The Client side is as follows:
try{
SocketConnection soc = (SocketConnection) Connector.open("socket://127.0.0.1:9988");
OutputStream osZ = soc.openOutputStream();
OutputStream osZS = soc.openOutputStream();
Vector worekZ = dbm.serializeZamowienia();
for(int i = 0; i < worekZ.size(); i++){
osZ.write((byte[]) worekZ.elementAt(i));
osZ.write(128);
}
Vector worekZS = dbm.serializeZamSzczegoly();
for(int i = 0; i < worekZS.size(); i++){
osZS.write((byte[]) worekZS.elementAt(i));
osZS.write(128);
}
osZ.close();
osZS.close();
soc.close();
}catch(Exception e){
e.printStackTrace();
e.getMessage();
}
And the server side is as follows:
while(true){
ServerSocket serverSocket =null;
try{
serverSocket =new ServerSocket(9988);
}catch (IOException e){// THIS IS THE ERROR POINT
e.printStackTrace();
e.getMessage();
System.exit(1);
}
Socket clientSocket =null;
try{
clientSocket = serverSocket.accept();
}catch (IOException e){
e.printStackTrace();
e.getMessage();
System.exit(1);
}
if(clientSocket !=null){
ServerThread st =new ServerThread(clientSocket);
st.start();
}
}
}
The problem is I get following error when I try to connect client and server:
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>(ServerSocket.java:97)
at serverside.ServerMobile.main(ServerMobile.java:16)
I checked by means of netstat if the 9988 port is realy in use before I start program. I isnt. So why is that so the exception is thrown?

