Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Gestire più flussi chat

    Buongiorno,
    avrei la necessità di creare un'applicazione vb.net che gestisca una chat, una videochat ed il trasferimento dell'immagine del desktop.
    Utilizzando il socket, quando invio il flusso, come fa l'applicativo a distinguere se appartiene alla chat, alla videochat o all'invio di altre immagini. Devo usare porte diverse?
    MI sto impazzendo. Per piacere, aiutatemi.

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    o usi porte diverse ( il che ti aiuta se devi usare flussi di chat testuale con chat video per esempio ) o usi la stessa porta ma distingui i pacchetti con un tuo protocollo

    es di pacchetto:

    ident|numero|dati

    dividendo con "|" le parti del pacchetto puoi distinguere che tipo di pacchetto è (ident) e che numero progressivo ha (per ricostruire l'oggetto)

  4. #4
    Il linguaggio è vb.net, ma accetto suggerimenti anche in c#.
    Ringrazio Stoicenko.
    Gli vorrei chiedere se mi fa un esempio più dettagliato di quanto mi consigliava, magari con del codice. Come faccio a fare un mio protocollo?
    Grazie

  5. #5
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    bè non è difficile, normalmente tu invii i pacchetti con clinet tcp o udp ( o direttamente tramite socket ) inviando array di byte che presumo arrivino o da stringhe (chat) o da stream

    nel caso delle stringhe basta aggiungere la parte del tuo protocollo in testa es:

    invio "ciao" -> 0001|00001|ciao

    in questo caso suppongo che la prima parte indichi una chat di testo, la seconda è il n umero del pacchetto (se serve) la terza è il pacchetto in sè

    quando ricevi basta che ti fai un parser che fa uno split sul "|" e recupera le 3 parti

  6. #6
    Per la chat testuale avevo fatto proprio così. Cosa succede però se il flusso è binario?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Stoicenko
    quando ricevi basta che ti fai un parser che fa uno split sul "|" e recupera le 3 parti
    Non e' cosi' semplice ... non bisogna assumere che il pacchetto sia ricevuto esattamente cosi' come inviato ... potresti riceverne una parte e dovere attendere l'altra oppure ricevere piu' parti in un sol colpo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    infatti dipende dai pacchetti.. io presupponevo che per pacchetti grandi li scomponesse in più piccoli (da la il numero progressivo)

  9. #9
    Devo inviare pacchetti piuttosto leggeri.
    Secondo me, il discorso sta scantonando.
    Ho bsogno di un'ultima informazione. Come faccio ad aggiungere il numero del protocollo al codice binario?

  10. #10
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    se il binario l'hai su un array di byte usa la classe array che è statica per ridimensionare, copiare e modificare l'array per aggiungerci informazioni

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.