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.