| fabio Civ |
Mi date una mano a tradurre
Ho una applicazione in vb6 che si connette al server con loggetto winsok
non riesco a tradurre tutto con le classi messe a disposizione nel .net. non riesco a capire come ricevere i dati senza il winsok. Winsock2.RemoteHost = DNS_Addr Winsock2.RemotePort = 53 DNSrecieved = False Winsock2.SendData(dnsQuery) Timer2.Enabled = True time2 = 0 Do While Not DNSrecieved And time2 < 10 If Winsock2.CtlState = MSWinsockLib.StateConstants.sckError Then Timer2.Enabled = False Exit Function End If System.Windows.Forms.Application.DoEvents() Loop Timer2.Enabled = False Private Sub Winsock2_Error(ByVal eventSender As System.Object, ByVal eventArgs As AxMSWinsockLib.DMSWinsockControlEvents_ErrorEvent) Handles Winsock2.Error System.Diagnostics.Debug.WriteLine(eventArgs.Description) End Sub Private Sub Winsock2_DataArrival(ByVal eventSender As System.Object, ByVal eventArgs As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock2.DataArrival DNSrecieved = True ReDim dnsReply(eventArgs.bytesTotal) Winsock2.GetData(dnsReply, VariantType.Array + VariantType.Byte) End Sub '---------------------Nuovo codice------------ Dim oStream As NetworkStream Dim oConnection As New TcpClient() 'Imposto il Timeout per la connessione oConnection.SendTimeout = 3000 'Connetto al server SMTP alla porta 25 dedicata alla posta oConnection.Connect(DNS_Addr, 53) 'Recupero Stream di dati oStream = oConnection.GetStream() SendData(oStream, dnsQuery) Function SendData(ByRef nStream As NetworkStream, ByVal sToSend As String) As String Dim bData() As Byte = Encoding.ASCII.GetBytes(sToSend.ToCharArray) Dim strResponse As String If sToSend.Length() > 0 Then nStream.Write(bData, 0, bData.Length()) strResponse = GetData(nStream) Else strResponse = CStr(False) End If Return strResponse End Function |
| Raffaele Rialdi |
Re: Mi date una mano a tradurre
L'approccio è molto diverso dal vecchio controllo delle Winsock a quello in dotnet. Perchè non ti guardi gli esempi su msdn. Sono fatti bene e prevedono sia l'utilizzo sincrono che asincrono.
Raffaele |
| Marco Barzaghi |
Re: Mi date una mano a tradurre
concordo con raffaele, se vuoi anche su qsto sito ci sono un po di tip e articoli sull'argomento:
Comunicazioni TCP-IP con Visual Basic.NET http://www.ugidotnet.org/articles/articles_read.aspx?ID=26 qui l'elenco dei tip dedicati al Networking: http://www.ugidotnet.org/tips/tips_category.aspx?CategoryID=11 HTH ciao M.rkino |
| fabio Civ |
Re: Mi date una mano a tradurre
grazie.
ci dò un'occiata. |