Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    19

    [VB.NET] Background Worker - MultiThread - WinSocket

    Salve,
    avrei bisogno di un aiuto, sono in alto mare.
    Sto realizzando un'applicazione che deve prendere dei dati
    da una socket. Per le socket nessun problema,
    ho utilizzato le winsocket e il metodo on_datarrival.

    Il problema è che avrei la necessità di "processare" i dati
    che arrivano sulla socket e inserirli in un grafico.
    Mi arrivano dei valori progressivi...e ho la necessità
    di prelevare quei dati fino ad un certo valore soglia....
    e scartare gli altri...e poi graficarli...

    Esempio...
    mi arrivano 3 sequenze DIVERSE di dati (3 eventi On Data Arrival)

    1) 3, 7, 9, 20
    2) 56, 80, 90
    3) 110, 150, 160

    Io deve mettere insieme questi dati (con un semplice merge in una stringa)
    e prendere...che so i valori tra 8 e 147...quindi 9, 20, 56, 80, 90, 110 e 150....
    e scartare gli altri...

    Il problema è che nel frattempo sulla socket arriva una nuova batteria di dati che
    non posso perdere....e ovviamente non posso gestire il tutto sul metodo on_dataArrival.

    Avevo pensato a un thread o a un background worker.
    Il punto è ...ne creo uno solo?Ma...è possibile creare una "cosa" di eventi su un solo
    background worker?
    Oppure ne credo uno ogni volta che ho un evento on_dataarrival?
    Ma se ne creo tanti c'è un problema di consdivisione di risorse...insomma....mi
    aiutate a chiarirmi un po' le idee e sviluppare qualcosa?

    Grazie

    Gabriele

  2. #2
    Visto che lavori in ambiente .NET ti sconsiglio l'utilizzo del controllo Winsock per problemi di eventuali compatibilità con il framework e ti propongo l'uso della classe apposita System.Net.Socket. Per la sintassi puoi cercare sul forum o in Rete, è un argomento pluritrattato.

    Detto questo, che protocollo usi? UDP o TCP/IP ?
    Come gestisci l'invio dei dati? A pacchetti ben precisi o random?
    Ogni quanto arrivano i dati? C'è un tempo variabile e imprecisato o costante?

    In definitiva, per sapere se è funzionale creare un nuovo thread per l'elaborazione dei dati occorre conoscere sia ciò che ti ho domandato, ma anche il tipo di elaborazione che tali dati subiscono; se tutto il procedimento non è drammaticamente complesso ti può bastare l'utilizzo di un'altra procedura, una volta ricevuti i dati.


    Fammi sapere


    Ciao

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.