Ciao, sono qui con un altro problema, questa volta inerente al listener del socket. il mio codice è questo:
Private Sub RicezioneIP_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RicIP.Tick
Dim buffer(1024) As Byte
If Listener.Pending = True Then
Messaggio = ""
Dim SMS As String
'Client = Listener.AcceptTcpClient()
'Dim Reader As New StreamReader(Client.GetStream())
Dim sok As Socket = Listener.AcceptSocket
Dim BytedaLeggere As Integer = sok.Receive(buffer)
Messaggio = Encoding.ASCII.GetString(buffer, 0, BytedaLeggere)
TextBox1.Text = TextBox1.Text + Messaggio + vbCrLf
sok.Close()
SMS = Messaggio
Dim l As Integer = SMS.Length
ecc.
il problema è questo:
sia usando questo che usando il reader.peek andando dal client a mandare 16 byte a pressione di un tasto, e accellerando il "click" ad un certo punto sulla lettura dei byte:
(Dim BytedaLeggere As Integer = sok.Receive(buffer)) genera un errore di questo tipo :
Connessione in corso interrotta forzatamente dall'host remoto
inizialmente utilizzando la funzione reader.peek sotto while davo la colpa alla lentezza della lettura. il timer di ricezione è a 1 ms, puo essere che mentre stia leggendo ancora il messaggio vecchio ne arriva uno nuovo e perdo la connessione perchè non accetto il socket al momento giusto? se fosse cosi come faccio a mettere apposto il tutto?
grazie