首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于 VB 的winsock,一点超乎寻常的难题解决方法

2012-01-26 
关于 VB 的winsock,一点超乎寻常的难题大家知道,winsock1_DataArrival事件肩负着光荣而艰巨的接收数据的任

关于 VB 的winsock,一点超乎寻常的难题
大家知道,winsock1_DataArrival事件肩负着光荣而艰巨的接收数据的任务。所有反馈信息都在该事件发生的时候进行处理。

而且 winsock1_DataArrival事件 就像一个函数一样,但该事件结束的时候,所有的信息将消失。包括定义的变量。(这句话对吗?)

现在我想让在该事件发生时根据不同情况处理相应的接收内容,该如何处理呢?

1. 使用 HEAD (不是GET) 提交内容的时候,服务器返回头信息,相应的, winsock1_DataArrival 只能接收到头信息。我要做的事情是:
查看该头信息是否为 200 ,如果是,将获得 文件名,即:Content-Location: http://www.xx.comhttp://www.xx.com/blog/attachments/month_0803/y2008313162635.rar ,中的 y2008313162635.rar ,并返回。 获得 Content-Type: application/octet-stream 数据类型,并返回。因为有可能是数据流,也可能是文本流,后文中将以不同方式处理。

如果头信息是 302 ,则获得 Location:后的网址,并返回,目的是为了下一次跳转到新网址继续下载。

2. 用 Get 提交时,获得 相应的内容,根据 上面的提示,假如是文本流,就返回到文本框,假如是数据流,就下载到文件。


请问该如何处理呢?不知道大家看明白没有?就是 winsock1_DataArrival事件 能像函数一样,根据不同的情况,做不同的事情,并且可以返回值。

谢谢大家了。

能帮我写段代码吗?

[解决办法]

VB code
Option ExplicitDim s As StringPrivate Sub Form_Load()
[解决办法]
1. 用全局变量
2. 用二进制方式传(还有一种是字符串)
3. 大数据使用分包机制 (比如大于1500字节,或是2000字节)

热点排行
Bad Request.