Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C] - Winsock

  1. #1
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538

    [C] - Winsock

    Sto provando a utilizzare il winsock in un applicazione scritta in c.

    ho scritto questo codice

    codice:
    while (1){
            recv( m_socket, recvbuf, 32, 0 );
        	printf("%s",recvbuf);
        }
    per stampare a video tutto ciò che si riceve.

    La mia domanda è:
    come posso fare a capire che il client si è disconnesso?

  2. #2
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    ho risolto cosi:

    codice:
     
    while ((bytesRecv = recv( m_socket, recvbuf, 32, 0 )) != 0){
        	printf("%s",recvbuf);
        }
    ora però ho un altro problema

    se dal client scrivo:

    ciao[invio]
    ciao ciao

    nel server appare:

    ciao
    c
    i
    a
    o
    c
    i
    a
    o

    In pratica dopo la prima volta che nel client premo invio, nel server va a capo a ogni lettera. come mai?

  3. #3
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    [ormai sta diventando un monologo.... ]

    ho cambiato il codice cosi:

    codice:
    while ((bytesRecv = recv( m_socket, recvbuf, 1, 0 )) != 0){
        	printf("%c",recvbuf[0]);
        }
    ed ora funziona, anche se nn capisco perchè.

    come mai impostando come lunghezza del buffer 32, dopo ogni lettera mi dava accapo automaticamente?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.