Hallo Community,
ich habe ein Problem.
Ich will ein Byte Array an einen C++ Server senden.
Dieses byte Array hat 3 Felder.
So sieht das Array aus.
So sende ich die bytes
Der C++ Server ist hier:
https://github.com/THOMAS-Projekt/THOMAS/blob/master/MotorControl.cpp
Zeile 180-245
Das Problem ist jetzt, dass er keine Bytes empfängt.
Seht einer irgendwo im Java Code ein Fehler? Der Server funktioniert einwandfrei mit einem C++ Client.
Edit: Wenn ich das Senden der bytes lösche, sodass nur dos.wirteInt(len) dort steht, kommt der gleiche Fehler
Edit2: Wenn ich dos.writeInt(len) lösche bekomme ich vom Server: Connection reset by peer. Woran liegt das?
ich habe ein Problem.
Ich will ein Byte Array an einen C++ Server senden.
Dieses byte Array hat 3 Felder.
So sieht das Array aus.
Java:
public class Main {
static Socket socket;
static SocketUtil sUtil = new SocketUtil();
static String ip = "192.168.178.6";
static int port = 4242;
static byte[] header = new byte[3];
public static void main(String[] args) throws IOException{
header[0] = 1;
header[1] = 3;
header[2] = 4;
socket = sUtil.connectSocket(ip, port);
sUtil.sendBytes(socket, header, 0, header.length);
}
}
So sende ich die bytes
Java:
public void sendBytes(Socket socket, byte[] myByteArray, int start, int len) throws IOException {
if (len < 0)
throw new IllegalArgumentException("Negative length not allowed");
if (start < 0 || start >= myByteArray.length)
throw new IndexOutOfBoundsException("Out of bounds: " + start);
OutputStream out = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(out);
dos.writeInt(len);
if (len > 0) {
dos.write(myByteArray, start, len);
}
}
Der C++ Server ist hier:
https://github.com/THOMAS-Projekt/THOMAS/blob/master/MotorControl.cpp
Zeile 180-245
Das Problem ist jetzt, dass er keine Bytes empfängt.
Seht einer irgendwo im Java Code ein Fehler? Der Server funktioniert einwandfrei mit einem C++ Client.
Edit: Wenn ich das Senden der bytes lösche, sodass nur dos.wirteInt(len) dort steht, kommt der gleiche Fehler
Edit2: Wenn ich dos.writeInt(len) lösche bekomme ich vom Server: Connection reset by peer. Woran liegt das?
Zuletzt bearbeitet: