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:
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.0Login:
(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.