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

    [Vb.Net] Applicazione Server-Client

    E' un argomento che è stato preso in considerazione diverse volte, ma vorrei qualche consiglio su come affrontare questo caso "particolare": vorrei creare un'applicazione Server che acquisisca un video da qualche periferica(webcam, scheda TV...) e mi invii il video acquisito al programma Client. Come posso procedere?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Forse dovresti spiegarti meglio... xchè se hai un file, se il client è in lan locale senza problemi potresti fare una semplice copia del file in una cartella condivisa. Se cio' che hai è una serie di byte da inviare, potresti aprire una connessione via socket ed inviarli. Dipende da cosa hai e devi inviare.
    Ans.

  3. #3
    Io vorrei vedere da remoto il video che sta catturando la webcam sul pc(server). Una sorta di streaming, non so se sia possibile e se sia facile da fare. I due pc non sono in una LAN ma si collegherebbero tramite indirizzo IP.
    Al limite potrei suddividere il video acquisito in più parti ed inviare le varie parti del video, che forse è più "facile".
    In VB6 si usava WinSock, se non sbaglio, per l'invio di file, devo utilizzare quel componente o nel NET c'è qualcosa che potrebbe fare al caso mio?

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    ci sono i socket ma sono abbastanza complessi.

  5. #5
    Quindi è possibile collegare due computer tramite indirizzo IP e farli dialogare. Dal server invio l'intero file AVI, MPG... e sul Client ricostruisco il file e poi lo visualizzo. Teoricamente ci sono quasi, mi devo solo mettere al lavoro e vedere come si inviano file tramite la classe Socket(?)
    Se qualcuno ha qualche consiglio da darmi... sono qui.

  6. #6
    Ho trovato un esempio su internet che mi permette di creare due applicazioni una Server e l'altra Client che fa utilizzo di System.Net
    Posso inviare una semplice stringa, un file di testo, ma quando cerco di inviare un altro tipo di file (esempio uno ZIP) non mi restituisce tutti i byte che gli invio. Nel mio caso ho detto di inviare solo i primi 24 Byte che effettivamente arrivano, ma poi me ne vengono restituiti 4, il codice che mi riceve i byte inviati dal client è:
    codice:
    Private Sub OnConnect()
            Dim Client As System.Net.Sockets.Socket = Listener.AcceptSocket
            Dim Buffer() As Byte
            Try
                Dim bi As Integer = 0
                    While Client.Available > 0
                    ReDim Preserve Buffer(bi)
                    Client.Receive(Buffer, bi, 1, Sockets.SocketFlags.None)
                    bi += 1
                End While
            Catch e As IndexOutOfRangeException
    
            End Try
    
            Dim message As String = System.Text.Encoding.Default.GetString(Buffer)
           
            Dim REP As System.Net.IPEndPoint = Client.RemoteEndPoint
            Client.Close()
            Dim args As New InMessEvArgs(message, REP.Address.ToString())
            RaiseEvent IncomingMessage(args)
        End Sub
    E' corretto il principio di aprire un file dal client ed inviare ogni singolo byte al server che poi mette tutti i byte ricevuti in un file? oppure sbaglio l'approccio.

  7. #7
    Ho trovato il link del progetto che ho scaricato e da cui sto prendendo spunto:
    http://www.codeproject.com/vb/net/Vb...ReceiveTcp.asp
    Ho scoperto che non mi vengono restituiti solo i primi 4 byte ma mi vengonon restituiti byte finché non incontra un Chr(32). Per esempio il client invia questa stringa BMv› 6 ( e il server mi restituisce solo la stringa BMv> e basta. Qualche consiglio???

  8. #8
    Semplice. Con VLC Media Player (open source) hai risolto il problema, e fa tutto lui!!!

  9. #9
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560
    Stavo pensando a una applicazione che ho fatto tempo fa...
    se queste registrazioni devono essere mantenute per un po' di tempo... potresti anche inserirle in un campo BLOB di un DB, aquel punto diventa tutto molto facile! Io l'ho fatto con Oracle e funziona molto bene con qualsiasi tipo di file... XLS, MPG, PDF, DOC ecc ecc...
    Potresti anche usare MySQL... a gratise!!

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.