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 Code

    acceptSocket = 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);
    

    💡


Anmelden zum Antworten