1
General Programming / [C#] Packet Buffer & Parser
« on: December 06, 2006, 07:49:20 pm »
I'm attempting to convert:
and
From VB > C#, It's proving quite the challange for me, as I am still learning C#, any help would be greatly appreciated.
Code: [Select]
Static strBuffer As String
Dim strTemp As String, lngLen As Long
Winsock1.GetData strTemp, vbString
strBuffer = strBuffer & strTemp
While Len(strBuffer) > 4
lngLen = Val("&H" & Login.StrToHex(StrReverse(Mid(strBuffer, 3, 2))))
If Len(strBuffer) < lngLen Then Exit Sub
Login.ParsePacket Left(strBuffer, lngLen)
strBuffer = Mid(strBuffer, lngLen + 1)
Wend
and
Code: [Select]
Private Buffer As String
Public Function InsertDWORDArray(Data() As Long)
Dim i As Integer
For i = LBound(Data) To UBound(Data) Step 1
Buffer = Buffer & MakeDWORD(Data(i))
Next i
End Function
Public Function InsertDWORD(Data As Long)
Buffer = Buffer & MakeDWORD(Data)
End Function
Public Function InsertData(Data As String)
Buffer = Buffer & Data
End Function
Public Function InsertWORD(Data As Integer)
Buffer = Buffer & MakeWORD(Data)
End Function
Public Function InsertBYTE(Data As Integer)
Buffer = Buffer & Chr(Data)
End Function
Public Sub InsertBytes(Data As String)
Dim i As Long, Enqueueer As String
For i = 1 To Len(Data) Step 3
Enqueueer = Enqueueer & Chr(Val("&h0" & Mid(Data, i, 2)))
Next i
Buffer = Buffer & Enqueueer
End Sub
Public Function InsertNTString(Data As String)
Buffer = Buffer & Data & Chr(0)
End Function
Public Function InsertNonNTString(Data As String)
Buffer = Buffer & Data
End Function
Function MakeDWORD(Value As Long) As String
Dim Result As String * 4
CopyMemory ByVal Result, Value, 4
MakeDWORD = Result
End Function
Function MakeWORD(Value As Integer) As String
Dim Result As String * 2
CopyMemory ByVal Result, Value, 2
MakeWORD = Result
End Function
Public Function Clear()
Buffer = ""
End Function
Public Function SendPacket(PacketID As Byte)
Dim PacketData As String, Packet As String
If Form1.Winsock1.State <> sckConnected Then: Exit Function
Form1.Winsock1.SendData Chr(&HFF) & Chr(PacketID) & MakeWORD(Len(Buffer) + 4) & Buffer
Clear
End Function
From VB > C#, It's proving quite the challange for me, as I am still learning C#, any help would be greatly appreciated.