我要用winsock传输图片文件
由于图片不大,也不多,所以想直接村到服务器端的数据库中每次在 sckServer_dataarrival中接受小于8K的数据
所以一个文件,有多次接收事件我想把数据直接存到数据库里,怎么办好啊?
先存成文件,再将文件存到库里?
可不可以直接将接受来的数据完整的存到库里啊?

解决方案 »

  1.   

    可以,你可以开辟一个buffer,然后就像数组那样将两个buffer中的数据从头到尾接到一起!
    存到数据库中,只能存2进制代码,对于大小转换可能会遇到问题!
    不能生成文件后存,一是耽误时间,还有对于转换有问题!
    你可以用两个winsock来接收,winsock1接收文件名和控制信息,winsock2接收文件的二进制buffer,同样发送也是一样,发时候将文件名称先发送,然后将文件转换为二进制到buffer再发送!
    你可以给我留短信息
      

  2.   

    封装每个包
    包头+数据
    包头可以用一个字节定义
    如&H1表示文件名
    &H2表示数据包来了
    &H3表示最后一个包,该保存所有二进制数据到数据库了
    建议看看如何使用copymemory函数