Come avere l'evento DataArrival in VB.NET?

sabato 11 febbraio 2012 - 17.36
Tag Elenco Tags  VB.NET  |  Visual Studio 2010

marcoro Profilo | Newbie

Ciao a tutti, sono nuovo qui.
Arrivo da VisualBasic classico e sto facendo i miei primi programmini in vb.net
Il mio problema è con i socket.
In VB6:
aprivo una connessione (fatto)
mandavo dei bytes (fatto)
ricevevo la risposta nell'evento DataArrival con .GetData

Quest'ultimo passo non so come farlo in VB.NET.
So che è una banalità ma mi sfugge qualcosa perché Net.Sockets.UdpClient non ha eventi.
Sapete aiutarmi?

Questo è il codice in VB.NET per la prima parte:
Try
WinSock1.Connect(Indirizzo, Porta)
Dim sendBytes As [Byte]() = {0}
WinSock1.Send(sendBytes, sendBytes.Length)
Return True
Catch ex As Exception
Return False
End Try

Questo è il codice per la ricezione che usavo in VB6 e vorrei convertire in .NET:
Private Sub EthPort_DataArrival(ByVal bytesTotal As Long)
On Error GoTo erroreWinsock
Call EthPort.GetData(ByteRicevuti, vbArray + vbByte, bytesTotal)
On Error GoTo 0
Exit Sub
erroreWinsock:
Resume Next
End Sub

Grazie e scusate se ho sbagliato qualcosa.
Marco

Jeremy Profilo | Guru

Ciao
Mandi in esecuzione un thread separato all'interno del quale valuterai, in un ciclo Do...Loop, la proprietà Available dell'oggetto TcpClient.
Se Client.Available è maggiore di 0 .... leggi i dati. Altrimenti continui ad attendere.
Facci sapere...
Ciao

marcoro Profilo | Newbie

Grazie Jeremy
Magnifico.
Come ho fatto a non vedere questo Available?
Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5