编程问题:如何用VB的WINSOCK控件实现QQ登录。

来源:百度知道 编辑:UC知道 时间:2024/05/02 16:18:27
QQ的协议我已经分析过,如果直接模拟QQ正式客户端登录的数据包就可以直接实现登录。

但我对VB的控件不太熟悉,希望各位指教!

谢谢。

请给我一个可以发送

0x02 包头
0x0e 0x2d QQ版本号
0x00 0x22 请求登录的指令号
0x63 0xe2 报文序号
0x27 0x04 0x0d 0xf6 QQ号
..................共16字节: 登录数据数据密钥
................... 加密过的内容
0x03 包尾

这类数据包的WINSOCK例子。

Winsock属性先设置好,这个不用说了吧.
发送命令如下:
Private Sub Command2_Click()

On Error GoTo ErrProc
Dim SendStr(15) As Byte
Dim RcvStr() As Byte
SendStr(0) = XX
SendStr(1) = XX
SendStr(2) = XX
SendStr(3) = XX
SendStr(4) = XX
SendStr(5) = XX
SendStr(6) = XX
SendStr(7) = XX
SendStr(8) = XX
SendStr(9) = XX
SendStr(10) = XX
SendStr(11) = XX

Dim aStr As String
Dim i As Integer
For i = 0 To 11
aStr = aStr & Chr(SendStr(i))
Next
Winsock1.SendData aStr
Exit Sub
ErrProc:
MsgBox "传输数据失败", vbCritical, "网络传输"
Text1.Text = Winsock1.State

End Sub

接收的事件和指令如下:
'数据接收后的处理,仅供显示,若溢出,请disable多余的ax.

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim a1, a2, a3, a4, a5, a6, a7,