[C] Über TCP empfangene Daten ausgeben/bearbeiten

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C] Über TCP empfangene Daten ausgeben/bearbeiten

    Hi,
    ich empfange auf einem simplen Server einen String per

    Code:
        for (;;) {
            len = sizeof(client);
            fd = accept(sock, (struct sockaddr*)&client, &len);
            if (fd < 0)
                error_exit("Fehler bei accept");
            printf("Bearbeite Client mit der Adresse: %s\n", inet_ntoa(client.sin_addr));
            /* Daten vom Client auf dem Bildschirm ausgeben */
            echo ( fd );
    
            closesocket(fd);
        }
    echo( fd ) gibt mir aber die daten + Zeit aus. Ich möchte aber nur den String ausgeben, bzw ihn auswerten und entsprechendes zurückschicken. Wie geht das?

  • #2
    Lösung:
    Code:
        for (;;) {
            len = sizeof(client);
            fd = accept(sock, (struct sockaddr*)&client, &len);
            if (fd < 0)
                error_exit("Fehler bei accept");
    		
    		printf("Bearbeite Client mit der Adresse: %s\n", inet_ntoa(client.sin_addr));
            /* Daten vom Client auf dem Bildschirm ausgeben */
            //echo ( fd );
    		while(rc!=SOCKET_ERROR)
    		{
    			rc=recv(fd,buf,256,0);
    			if(rc==0)
    			{
    				printf("Server hat die Verbindung getrennt..\n");
    				break;
    			}
    			if(rc==SOCKET_ERROR)
    			{
    				printf("Fehler: recv, fehler code: %d\n",WSAGetLastError());
    				break;
    			}
    			buf[rc]='\0';
    			printf("Client sendet: %s\n",buf);
    			//sprintf(buf2,"Du mich auch %s",buf);
    			//rc=send(connectedSocket,buf2,strlen(buf2),0);
    		}
    
            /* Schließe die Verbindung */
            closesocket(fd);

    Comment

    Working...
    X