# ByteArray per Netzwerk verschicken



## 8ull23y3 (17. Jan 2005)

Server


```
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TestServer {

	public static void main(String[] args) throws Exception {
		ServerSocket servSock = new ServerSocket(502);
		while( true ) {
			Socket clientSock = servSock.accept();
			DataInputStream clientIn = new DataInputStream(clientSock.getInputStream());
			DataOutputStream clientOut = new DataOutputStream(clientSock.getOutputStream());
			System.out.println(clientIn.read());
		}
	}
}
```
--------------------------------------------------------------------------------
Client


```
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;

public class TestClient {
	
	public static void main(String[] args) throws Exception {
		byte[] rqBuffer = new byte[256];
		byte[] rpBuffer = new byte[256];
		Socket clientSock = new Socket("localhost", 502);
		DataInputStream clientIn = new DataInputStream(clientSock.getInputStream());
		DataOutputStream clientOut = new DataOutputStream(clientSock.getOutputStream());
		rqBuffer[0] = 0x00;
		rqBuffer[1] = 0x00;
		rqBuffer[2] = 0x00;
		rqBuffer[3] = 0x00;
		rqBuffer[4] = 0x00;
		rqBuffer[5] = 0x00;
		rqBuffer[6] = 0x00;
		rqBuffer[7] = 0x00;
		rqBuffer[8] = 0x00;
		rqBuffer[9] = 0x00;
		rqBuffer[10]= 0x00;
		for( int i=0; i<rqBuffer.length; i++ ) {
			System.out.println(rqBuffer[i]);
			clientOut.write(rqBuffer[i]);
		}
	}
}
```

So wie oben beschrieben habe ich versucht n ByteArray per Netzwerk zu verschicken was leidern nicht ging.
Einer ne Idee wie ich dsa regeln könnte?


----------



## Bleiglanz (17. Jan 2005)

bevor ich den Code lese: WAS GENAU ging denn nicht?


----------



## 8ull23y3 (17. Jan 2005)

Also wenn ich mir die Ausgabe vom Server angucke dann bekomme ich nur eine Null nagezeigt obwohl das ja mehrere sein müssten


----------



## Bleiglanz (17. Jan 2005)

while( true ) {
         Socket clientSock = servSock.accept(); 


du machst immer einen NEUEN ServerSocket auf und holst dir NEUE Streams und liest ein Byte, so geht das wohl nicht...


----------



## 8ull23y3 (17. Jan 2005)

So wie ich das verstanden habe ist das so das durch diese while-Schleife der Server dauernd auf meinem Port lauscht.
und nocht immer einen neuen Socket öffnet.
Bis jetzt hat das mit String wunderbar so geklappt aber mit Bytes nicht.


----------



## Sky (17. Jan 2005)

Versuchs doch mal so: 

```
class TestServer {

  public static void main(String[] args) throws Exception {
    ServerSocket servSock = new ServerSocket(502);
    Socket clientSock = servSock.accept();
    DataInputStream clientIn = new DataInputStream(clientSock.getInputStream());
    DataOutputStream clientOut = new DataOutputStream(clientSock.getOutputStream());
    while (true) {
      System.out.println(clientIn.read());
    }
  }
}
```


----------



## bullzeye (17. Jan 2005)

Hat sich schon erledigt...

einfach

byte rqBuffer[] = {0x00,0x00,0x00...};
clientOut.println(rqBuffer);

und schon gehts. brauch garkeine Schleife.
Danke trotzdem.


----------

