Java Socket verbindet (anscheinend) jedoch folgt nichts weiteres

JavaBeginner

Ensign
Registriert
Juli 2015
Beiträge
142
Hallo, ich habe ein Problem bezüglich Sockets. Ich versuche darüber auf einen Minecraft-Server zu verbinden.
Code:
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;


public class Client {
    public static void main(String[] args) {
    	String serverName = "85.190.134.253";	
		int portNumber = 25565;
		try {
		System.out.println("Verbinde zu " + serverName + " mit dem Port " + portNumber);
		Socket client = new Socket(InetAddress.getByName(serverName), portNumber);
		System.out.println("Verbindung erfolgreich!");
		DataInputStream in = new DataInputStream(client.getInputStream());
		DataOutputStream out = new DataOutputStream(client.getOutputStream());
		System.out.println("Nachricht vom Server: " + in.readUTF());
		} catch (IOException e) {
		System.out.println("IOException: " + e.getMessage());
		}
    }
}
ist was ich bisher habe. Anscheinend verbindet der Client, bekomme nach wenige Sekunden warten jedoch die Meldung "IOException: null". In der Konsole des Minecraft-Servers findet keine Athentifizierung oder eine Verbindung auf den Server statt (es wird zumindest nicht ausgeeben).
 
Moin,

wie ich dich verstehe bekommst du in deinem Terminal/Console die IOException geworfen, oder?
Ich würde erstmals Zeile 12 umändern. Das ist kein Name das ist eine Adresse, somit kannst du die Adresse da einfach reinklatschen, also:
Code:
Socket socket = new Socket(serverName,, portNumber);

ich würde etwas wie folgt mit dem INetAdress-Teil machen

Code:
String host = "localhost";
Socket socket = new Socket(INetAdress.getByName(host), portNumber);


Dann würde ich direkt danach eine Ausgabe von
Code:
System.out.println(socket.isConnected());
um zu sehen ob er connected ist.

Grüße Spark
 
Zuletzt bearbeitet:
der stream hat keine daten, die du lesen könntest.

hier deine exception samt stacktrace

Code:
java.io.EOFException
	at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
	at java.io.DataInputStream.readUTF(DataInputStream.java:589)
	at java.io.DataInputStream.readUTF(DataInputStream.java:564)
 
SparkMonkay schrieb:
Dann würde ich direkt danach eine Ausgabe von
Code:
System.out.println(socket.isConnected());
um zu sehen ob er connected ist.
Danke für die schnellen Antworten, bekomme die Ausgabe true. Verbunden bin ich zwar, es pasiert jedoch nichts.
 
Was soll denn vom Server überhaupt kommen ?
 
Habe ein weinig herumprobiert und mein Ziel nun erreicht. Danke für die Hilfen.
 
Zurück
Oben