Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 34
  1. #11
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    Scusa ho letto solo ora!!

    Anche a me non funzionava cosi' ho risolto in questo modo,non sono bravissimo con vb.net potrebbe essere anche sbagliato.Naturalmente ho trovato su internet quello che mancava.


    Invio:
    Private Sub invioimage()
    Try
    Dim ns As NetworkStream = Client.GetStream()
    PictureBox1.Image.Save(ns, ImageFormat.Jpeg)
    ns.Flush()
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
    End Sub
    Ricevo:

    Dim data() As Byte ' il data del client
    Public Sub RiceivoImage()
    Try
    Dim s As New MemoryStream
    Dim nws As NetworkStream = client.GetStream
    Dim bytesRead As Integer = nws.Read(data, 0, client.ReceiveBufferSize)
    s.Write(data, 0, bytesRead)
    PictureBox1.Image = Image.FromStream(s)

    Catch ex As InvalidOperationException
    '---ignore this error---
    Console.WriteLine(ex.ToString)
    Catch ex As Exception
    MessageBox.Show(ex.ToString)
    Return False
    End Try
    Return
    End Sub



    Vorrei chiedere una cosa se posso intervenire,io devo spedire due immagini come posso fare?

  2. #12
    grazie per la risposta!
    il codice per la ricezione però mi da due errori:

    1 MemoryStream non definto
    2 L'istruzione "return" in una sub o set non può restituire un valore

  3. #13
    1. Aggiungi all'inizio del file "Imports System.IO" (anche se non ho ben chiaro a cosa dovrebbe servire quel MemoryStream... :master: ).
    2. Cambia "Return False" in "Return".
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #14
    fatto! c'era poi ancora un errore di una variabile inutilizzata "data".
    Per togliere quest'ultimo errore ho sostituito

    Dim data() As Byte ' il data del client
    con
    Dim data(Client.ReceiveBufferSize) As Byte ' il data del client

    in modo che non fosse nulla!
    ora funziona però mi arriva solo un pezzo di immagine, la prima riga in alto!
    :master:

  5. #15
    Guarda, quel codice è sicuramente sbagliato (visto che legge solo i primi client.ReceiveBufferSize byte), bisognerebbe aggiungere un ciclo che continui ad aggiungere i dati al MemoryStream, ma a me sembra un passaggio inutile, perché non far leggere dal NetworkStream direttamente Image.FromStream? :master:
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #16
    :quote: credo di aver capito cosa intendi, potrebbe funzionare! ma come faccio? :master:

  7. #17
    Mah, teoricamente il codice dell'altra discussione dovrebbe già farlo...
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #18
    ho provato facendo:

    Dim data(4096) As Byte

    e così mi invia quasi un terzo dell'immagine, se però metto un numero maggiore di 4096 non cambia niente, è come se ricevesse fino a 4906

  9. #19
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    Devi spedire solo un immagine o ad esempio piu immagini?

  10. #20
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    Devi spedire solo un immagine o piu immagini?

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.