热情软件屋

 

Winsock如何接收二进制数据


编号:QA004463
建立日期: 2001年10月16日 最后修改日期:2001年10月16日
所属类别:

lili:
    操作系统: windows 98
    编程工具: vb6.0
    问题: 使用winsock API编写网络通讯程序时,由于对方发送过来的数据经过加密,数据包中含有C语言中的字符串结束符和一些不可见字符(VB收到后表现为乱码)。由于VB字符集的原因,按照字符串方式接收数据,解密时发生错误。请问有没有一种方法,直接从Socket套接字中,把数据读到Byte数组中.
    注:
    使用winsock控件可以实现读数据到字节数组中,但,使用winsock控件我发送数据时,对方Unix通讯程序接收不到我发送的数据,所以使用winsock Api函数。

回答:

    你可以使用Winsock控件这么做:
     Private Sub TCP1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
     Dim vta
     Dim bt() As Byte
     TCP1(Index).GetData vta, vbArray + vbByte
     bt = vta
     ...
     End Sub
    
    相关问题:
    QA001751 "使用WINSOCK控件通讯,可否使用自定义类型数据包"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio