Vraag : Java die ServerSocket binden

De code wordt genomen uit een groter stuk van code. Op mijn systeem het output het volgende:
Server die op 0.0.0.0/0.0.0.0 luisteren: het iP-Adres 4001

That duidelijk is niet wat ik de server wil luisteren aan. Zo hoe bind ik ServerSocket aan het juiste adres? De uiteinden aan nuttige relevante leerprogramma's of voorbeelden zijn valuated.
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
private ServerSocket serverSocket = verklaart nietig;
het privé luisteren van Boole = waar;	

probeer {
	serverSocket = nieuwe ServerSocket (haven);
} vangst (IOException e) {
	System.out.println („kon niet op haven luisteren: “ + haven);
	e.printStackTrace ();
	System.exit (- 1);
}
System.out.println („Server die luisteren op“ + serverSocket.getInetAddress () + „: “ + haven);
probeer {
	terwijl (luisterend) nieuwe ClientServerThread (serverSocket.accept (), dit) .start ();
	serverSocket.close ();
} vangst (IOException e) {
	System.out.println („kon niet op haven luisteren: “ + haven);
	e.printStackTrace ();
	System.exit (- 1);
}

Antwoord : Java die ServerSocket binden

Als ik het correct begrijp, betekent 0.0.0.0 dat de servercontactdoos niet verbindend aan een specifieke interface/NIC is, maar zal verbindingen op die haven op alle interfaces op de machine goedkeuren.  Als u welke te gebruiken interface wilt specificeren, u moet het aan die interface binden.

Dit kan met de derde aannemer worden gedaan, die een InetAddress neemt.  U kunt de lege aannemer ook gebruiken, die u een volledig unbound servercontactdoos geeft, dan plaatst het havenaantal en omzet adres en dan definitief bindt de vraag ().
Andere oplossingen  
 
programming4us programming4us