Ciao a tutti,
scusate questo post frettoloso di presentazione, mi chiamo Enrico, NON sono un programmatore, ma per esigenze aziendali mi trovo a farlo...
Direi io "la peggior specie al mondo di lavoratore "
direte voi "ma non potevi restare a fare l'operaio?!? "

A parte gli scherzi, vengo al sodo.. Mi son messo nei guai DOVENDO cercare di realizzare un'applicazione MOLTO semplice tipo TELNET in VB.NET 2005.

Il codice da cui parto e che mi sembrerebbe buono è il seguente:


codice:
Imports System.Net.Sockets
Imports System.Text
Class TCPCli
    Shared Sub Main()

        Dim tcpClient As New System.Net.Sockets.TcpClient()
        tcpClient.Connect("127.0.0.1", 8000)
        Dim networkStream As NetworkStream = tcpClient.GetStream()
        If networkStream.CanWrite And networkStream.CanRead Then
            networkStream.Write(sendBytes, 0, sendBytes.Length)
            ' Read the NetworkStream into a byte buffer.
            Dim bytes(tcpClient.ReceiveBufferSize) As Byte
            networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
            ' Output the data received from the host to the console.
            Dim returndata As String = Encoding.ASCII.GetString(bytes)
            ''Console.WriteLine(("Host returned: " + returndata))
             Clientlog.txt = returndata
        Else
            If Not networkStream.CanRead Then
                Console.WriteLine("cannot not write data to this stream")
                tcpClient.Close()
            Else
                If Not networkStream.CanWrite Then
                    Console.WriteLine("cannot read data from this stream")
                    tcpClient.Close()
                End If
            End If
        End If
        ' pause so user can view the console output
        Console.ReadLine()
    End Sub
End Class

Insomma è l'esempio di base di un client, e in effetti io non devo fare molto più di così.. Inviare dei comandi al server e leggere quello che mi dice in risposta...

1 problema, quando mi collego il server ridponde con un messaggio del tipo:

SERVER PIPPO V.5.0
Login:
ma io eseguendo lo stesso identico codice a volte in returndata ottengo:
SERVER PIPPO V.5.0?Login:?

(e già qui non capisco perchè se associo returndata alla consolle mi interpreti correttamente il vbcrlf con accapo mantre se assegno returndata al clientlog.txt mi scriva il quadratino, ma lo ritengo un problema secondario allo stato delle cose..)

a volte ottengo solo
SERVER PIPPO V.5.0?

e login ecc ecc dov'è finito?!?

ripeto, eseguo lo stesso identico codice, sulla stessa macchina, sullo stesso server...

Sono a dir poco disperato, è una settimana (8 ore al giorno) che provo, leggo MSDN, esempi, forum niente, non capisco...
E' un problema di buffer?
E' un problema di codifica?
Di multithread?

Avete qualche idea? Consiglio? Insulti? Qualsiasi cosa...
GRAZIE MILLE!
Enrico A.