求教,有没有办法使WINSOCK不利用数组传输大于8K的二进制文件? 如果利用数组的话,一但接收方同时有10个人接收一个100M的文件,那么服务器就完蛋了,请问有没有办法不利用数组去传递呢?我试过自行分割,用“get #文件号,起始位置,变量”这样的方法拿取文件内容,再发出去,但问题是,发一次包之后,就要close winsock控件一次,不然接收方就不会触发DataArrival事件,如果这样连啊关啊,消耗的资源我看不比数组少,请问有没有什么好的解救方法?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 close winsock控件一次?不懂,没见过。楼主的代码有问题的! 我开了两边的DEBUG,这边发了一个8192字节的包过去,那边仍然没有触发DataArrival,代码如下: Dim kkk As String For i = 1 To 8192 kkk = kkk & CStr(i) Next WinsockClient.SendData kkk这样之后,接收方仍然没有触发DataArrival,唉... 有没有连接上啊你的KKK变量,是8192字节??? 数组是存储数据的一种手段合适选取数据结构会提高程序效率不知道你们为什么老喜欢用Winsock发送StringVB的String是基于Unicode,会存在自动转换。不仅影响速度,还会改变原有数据的内容(转换失败的字符)用Byte数组好得多 8192字符是8192字节??楼主该去补补基本功了你用lenb()函数看看到底是多少字节。 就是100个人发消息服务器也不会完蛋,只要内存带宽购。再说你那个用tcp还是udp阿,你老关闭干什么啊 怎样左滚动形式的进度条,非内置哪种形式 如何显示最小化之后的窗体? 怎样把那个是否替换文件的对话框去掉? 一个 shell() 函数问题,请高手指点。谢谢。 请教各位大侠,在线等待 急急急............. 为什么水晶报表控件(CRViewer9)刷新按钮按下后,数据被清空?????? VB60 + CR9.2 + ORACLE 拆分条 为什么VB6 TDBGRID绑定老是没有数据呢? 非常郁闷 2000下正常98下发生数据库访问错误525是怎么回事?救命 怎样才能在拖动滚动条的同时使DataGrid控件中的内容同步滚动 满分求助!感激涕零!如何向封装在dll中的对象发送消息?
Dim kkk As String
For i = 1 To 8192
kkk = kkk & CStr(i)
Next
WinsockClient.SendData kkk这样之后,接收方仍然没有触发DataArrival,唉...
合适选取数据结构会提高程序效率
不知道你们为什么老喜欢用Winsock发送String
VB的String是基于Unicode,会存在自动转换。不仅影响速度,还会改变原有数据的内容(转换失败的字符)
用Byte数组好得多