Netzwerk?

Ich würde gerne mein Spiel Netzwerkfähig machen, ich habe gesucht, jedoch fand ich keine gute Erklärung wie man eine Verbindung über TCP aufbaut. Was Client und Server machen sollen und wie häufig sie Daten senden sollten und wie sie mit diesen umgehen ist mir klar, ich brauch nur einen kleine Einführung wie man die Verbindung aufbaut und wie man Daten senden/empfangen kann.
 
Zuletzt bearbeitet:
du hättest aber auch mit java und tcp bei google ne menge treffer bekomm....

viel spaß, hmf
 
So... nun bin ich auf ein Problem gestossen:

Da ich ganze Objekte übers Netzwerk verschicken möchte nutze ich ObjectInputStream und ObjectOutputStream, jedoch kommen die Daten nicht an oder werden gar nicht erst verschickt, bei Nutzung von InputStream und OutputStream hat es noch geklappt...

Server:
Code:
		try {
			client = server.accept();
			output = new ObjectOutputStream(client.getOutputStream());
			while(true) {
				try {
					output.writeObject(nds);
					output.flush();
				} catch(NotSerializableException e) {}
			}
		} catch(Exception e) {
			System.out.println(e);
		}

Client:
Code:
		try {
			server = new Socket(IP, port);
			input = new ObjectInputStream(server.getInputStream());
			while(true) {
				try {
					nds = (NetDataServer)input.readObject();
				} catch(NotSerializableException e) {}
			}
		} catch(Exception e) {
			System.out.println(e);
		}

nds ist das Objekt das ich versenden möchte und implementiert das Interface Serializable.
 
du musst die Daten in Bytes zerlegen und diese dann einzeln über die Leitung schieben. (Byte für Byte) =)

PHP:
//Die Datei, die auf den Server / Zielrechner soll
File file = new File("tmp.mp3");

//Verbindungsaufbau
Socket client = new Socket(1234);
FileReader fiRe = new FileReader(file);
OutputStreamWriter out = new OutputStreamWriter(client.getOutputStream());

int tmp = 0;

//Byte für Byte auslesen und verschicken!!
while((tmp = fiRe.read()) != -1){
 out.write(tmp);
}

out.close();

Ob funktioniert weiß ich nicht, aber müsste normaler Weise. Habe das jetzt im Browser geschrieben und nicht in Eclipse. Wenn noch Probleme auftauchen, dann gucke ich mal in Eclipse nach!

Ach ja: Bei dem Server musste das dann umgekeht machen --> nicht OutputStreamWriter sondern InputStreamReader ;)

Greeze Chimaira
 
Zuletzt bearbeitet:
Hi,

wenn Du Objekte übers LAN senden willst nimm lieber RMI oder CORBA ist für solche Fälle eher geeignet...

hmf
 
Zurück