Hallo,
also ich hab im Internet eine Klasse gefunden, die ein Packet erstellt. In dem Code Beispiel übergibt diese das Packet lokal, jetzt möchte ich das jedoch per Tcp/Ip senden, also das komplette Packet, nicht nur Header und nicht nur Data. Aber wie mach ich das, da es ja ein Objekt ist, oder gibt es eine andere Alternative zu dieser Klasse, evt. eine simplere oder effektivere?
Lg
redw00t_
also ich hab im Internet eine Klasse gefunden, die ein Packet erstellt. In dem Code Beispiel übergibt diese das Packet lokal, jetzt möchte ich das jedoch per Tcp/Ip senden, also das komplette Packet, nicht nur Header und nicht nur Data. Aber wie mach ich das, da es ja ein Objekt ist, oder gibt es eine andere Alternative zu dieser Klasse, evt. eine simplere oder effektivere?
VB.NET-Quellcode
- Module Module1
- Sub Main(ByVal args As String())
- Dim P As New Packet(New Byte() {&H0}, System.Text.Encoding.Default.GetBytes("ABCD"))
- Dim T As New Packet(DirectCast(P.Combined, Byte()))
- If T.Header(0) = &H0 Then
- Console.WriteLine(System.Text.Encoding.Default.GetString(T.Data) & "|")
- End If
- Console.ReadLine()
- End Sub
- End Module
- Public NotInheritable Class Packet
- Public Header As Byte() = New Byte(0) {}
- Public Data As Byte() = New Byte(8192) {}
- Public ReadOnly Property Combined() As Object
- Get
- Dim C As Byte() = New Byte(Header.Length + (Data.Length - 1)) {}
- System.Buffer.BlockCopy(Header, 0, C, 0, Header.Length)
- System.Buffer.BlockCopy(Data, 0, C, Header.Length, Data.Length)
- Return C
- End Get
- End Property
- Public Sub New(ByVal ByteInput As Byte())
- Data = New Byte(ByteInput.Length - 2) {}
- System.Buffer.BlockCopy(ByteInput, 0, Header, 0, Header.Length)
- System.Buffer.BlockCopy(ByteInput, Header.Length, Data, 0, ByteInput.Length - Header.Length)
- End Sub
- Public Sub New(ByVal Header_ As Byte(), ByVal Data_ As Byte())
- Me.Header = Header_
- Me.Data = Data_
- End Sub
- End Class
Lg
redw00t_