Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Eseguire una 'printf' durante una 'scanf'

    Buonasera, sto creando una chat Client-Server tramite l'utilizzo di Sockets (in C, su UNIX).
    Detto in breve: quando un client invia un messaggio, il server lo inoltra a tutti gli altri client (broadcast).
    Ora sorge un problema: se un client (C1) sta scrivendo un messaggio ed un altro client (C2) ne ha appena inviato uno, come fa C1 a ricevere il messaggio se sta digitando su terminale?
    In altre parole, è possibile stampare il messaggio di C2 lasciando inalterato l'input di C1?

    Provo a fare una 'rappresentazione temporale' del problema
    codice:
    ### TERMINALE DI C1 ###
    -> Istante di tempo t1 <-
    (STAMPA) C2: Ciao sono C2
    
    (INSERIMENTO) Ciao son
    
    
    
    ->Istante di tempo t2 <-
    (STAMPA) C2: Ciao sono C2
    (STAMPA) C2: Come va?
    
    (INSERIMENTO) Ciao sono C1
    Quindi C1 ha ricevuto il messaggio "Come va?" mentre stava digitando "Ciao sono C1" ed era arrivato a scrivere "Ciao son".

    Spero di essermi spiegato bene....
    Vi ringrazio in anticipo!

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,563
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Intanto grazie per la risposta. Ho già visto qualcosa su questa libreria ma, per quello che servirebbe a me, non riesco a farla funzionare proprio bene
    Avresti magari il tempo di fare una bozza di codice? (io avrò due thread: uno che accetta l'input dall'utente e l'altro che stampa i messaggi arrivati)

    Grazie ancora!

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 © 2019 vBulletin Solutions, Inc. All rights reserved.