raphk
Mitglied
Hallo ich habe folgendes Problem:
Ich habe einen C Server programmiert der via Sockets mit seinen Clients kommuniziert. Um die Daten vom einem zum anderen zu schicken benutze ich in C structures. Damit haben die C Clients logischerweise keine Probleme.
Nun will ich auch noch nen Java Client machen aber da stellt sich dann das Problem wie kann ich da ne structure so deklarieren das mein C Server diese auch erkennt.
Wenn ich zB ne struct von 4 INT in C hab wartet der Server auf 16 byte bevor er weitergeht. Wenn ich in Java nen Vector von 4 INT mach klappt das nicht.
Das ist die Receive Linie aufm Server. Erster Parameter is das Socket, zweiter die erwartete Länge und der letzte ist die struct in C in der die Daten gespeichert werden.
Mit einem C Client funktionniert das auch tadellos. Nur halt der Java Client macht mir Ärger. Er verbindet sich zwar mim Server aber dieser erhält bei der recieve nicht die gewünschte Menge an Daten.
Ich hoffe mal das mir einer weiter helfen kann!
Ich habe einen C Server programmiert der via Sockets mit seinen Clients kommuniziert. Um die Daten vom einem zum anderen zu schicken benutze ich in C structures. Damit haben die C Clients logischerweise keine Probleme.
Nun will ich auch noch nen Java Client machen aber da stellt sich dann das Problem wie kann ich da ne structure so deklarieren das mein C Server diese auch erkennt.
Wenn ich zB ne struct von 4 INT in C hab wartet der Server auf 16 byte bevor er weitergeht. Wenn ich in Java nen Vector von 4 INT mach klappt das nicht.
Code:
server_receive_socket(&hSocketService[num], LONG_PROTOCOL_HEADER, (char*)prot_header);
Das ist die Receive Linie aufm Server. Erster Parameter is das Socket, zweiter die erwartete Länge und der letzte ist die struct in C in der die Daten gespeichert werden.
Mit einem C Client funktionniert das auch tadellos. Nur halt der Java Client macht mir Ärger. Er verbindet sich zwar mim Server aber dieser erhält bei der recieve nicht die gewünschte Menge an Daten.
Ich hoffe mal das mir einer weiter helfen kann!