CSocket-Server sendet nicht "richtig"
-
Hallo!
Ich habe einen CSocket-Server geschrieben, der eine Verbindung mit einem Java-Client eingeht.
Die Verbindung steht, wenn der Client etwas sendet, kommt es an.
Sendet der C-Server etwas kommt es nicht an.
Ich habe java-seitig schon verschiedene Empfangsmöglichkeiten probiert und mache das Senden und Empfangen nun über in-/outputStreams.
ganz gleiche welche Möglichkeit ich gewählt habe, java wartet auch Empfang. Das mag nun am Senden liegen.
Hier etwas CodeacceptSocket = new(CSocket); if (!acceptSocket->Create(5555)) { return 1; } if (!acceptSocket->Listen()) { return 1; } if (!acceptSocket->Accept(*refreshSocket)) // no waiting partner { return 1; } sendData("1.nachricht",10); bool first = true; int length = 1400; char buff[1400]; while(first) { if(recv(*refreshSocket, buff, length, 0)) { if(buff[0] >= 'a' && buff[0] <= 'z'){ if(buff[0] == 'f') { AfxMessageBox(buff); sendData("ping",5); AfxMessageBox("Ping gesendet"); } else { if(buff[0] == '(') { AfxMessageBox(buff); sendData("pong",5); first = false; } else { AfxMessageBox("Hu2!"); sendData("ping",4); sendData("ping",4); sendData("ping",4); sendData("ping",4); sendData("pong",4); first = false; } } } } } void sendData(char* buffer ,int size) { refreshSocket->Send(buffer, size); }Gibt es noch andere Sendemöglichkeiten, die evtl. das Format haben, das java braucht? Bin völlig aufgeschmissen und hoffe auf Hilfe
Volker
-
So auf den ersten Blick fällt mir da auf, das die Länge deiner Sende-Testdaten nicht stimmt
sendData("1.nachricht",10);