Hallo Zusammen,
ich habe Zwei Klassen die miteinander für ein Socket kommunizieren.
Die Eine Klasse schickt ständig Nachrichten über ein Socket an die andere Klasse.
Die Empfängerklasse soll ALLES entgegennehmen was gesendet wird. Dumemrweise funktinoiert dies nicht. Die Empfängerklasse bekommt nicht alle Bytes zu lesen. Woran kann das liegen?
Sender:
...
Empfänger:
Wie kommt es das hier beim Empfänger nicht alle Bytes ankommen
Bin für eure Hilfe sehr dankbar
ich habe Zwei Klassen die miteinander für ein Socket kommunizieren.
Die Eine Klasse schickt ständig Nachrichten über ein Socket an die andere Klasse.
Die Empfängerklasse soll ALLES entgegennehmen was gesendet wird. Dumemrweise funktinoiert dies nicht. Die Empfängerklasse bekommt nicht alle Bytes zu lesen. Woran kann das liegen?
Sender:
...
Code:
char message = new char[] {0x69, 0xC2, 0xCC, 0x0D, 0x43, 0x31, 0x09, 0x77, 0x62, 0x46, 0xDC, 0x17, 0xA1, 0x19, 0xC8, 0x39, 0x52, 0xC2, 0xC9, 0x1B, 0x43, 0x2C, 0x01, 0x87, 0x4E, 0x03, 0x45, 0x54, 0x52, 0x87, 0x51, 0x0C, 0x44, 0x45, 0x36, 0x30, 0x36, 0x34, 0x33, 0x37, 0x33, 0x33, 0x37, 0x30, 0x40, 0x10, 0x44, 0xC2, 0xD2, 0x2A, 0x58, 0x18, 0x16, 0x18, 0x08, 0x00, 0x60, 0x26, 0xFC, 0x00, 0x06, 0x48, 0x34, 0x60, 0x27, 0xFC, 0x00, 0x06, 0x41, 0x2C, 0x65, 0x40, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x91, 0xE8, 0x65, 0x41, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x91, 0xE8, 0xC2, 0xD1, 0x07, 0x87, 0x42, 0x04, 0x35, 0x31, 0x35, 0x32};
byte messageToSend[] = new byte[message.length];
for (int i = 0; i < message.length; i++) {
messageToSend[i] = (byte)message[i];
}
int len = message.length;
Socket soc = new Socket("localhost", "8080");
System.out.println("Beginne mit dem Senden der Nachrichten");
try
{
OutputStream out = soc.getOutputStream();
for (int i = 0; i < 10; i++)
{
out.write(messageToSend);
out.flush();
}
}
catch (IOException e)
{
}
Code:
ServerSocket soc = new ServerSocket(8080);
Socket inputsoc = soc.accept();
InputStream is = inputsoc.getInputStream();
while((zahl = is.read()) != -1) {
System.out.println(durchlauf + " " + (int) (zahl & 0xFF));
}
Wie kommt es das hier beim Empfänger nicht alle Bytes ankommen
Bin für eure Hilfe sehr dankbar