我用winsock传档案出现错误代码40006
时间:2011-10-31
来源:互联网
Private Sub Command11_Click()
winsock1.RemoteHost = "114.40.230.3"
winsock1.Bind 9998
On Error GoTo DoWithErr
Dim OFbyt() As Byte '读入档案的缓冲
Dim PFbyt() As Byte '档案分解的缓冲
SndFlag = 1
'旗标设为1 , 记录开始传送档案
winsock1.SendData "SendFile"
Do Until SndFlag = 2
DoEvents
Loop
'回圈的目的是等代目的端电脑有回应
'一定要有DoEvents,否则Winsock会无法接收资料
winsock1.SendData "SendFileName"
'告诉目的端,我要开始传档
Do Until SndFlag = 3
DoEvents
Loop
winsock1.SendData Text1.Text
'告诉目的端,我要传的档名
Do Until SndFlag = 4
DoEvents
Loop
winsock1.SendData "OpenFileToWrite"
'告诉目的端,开起档案,并准备写入
Do Until SndFlag = 5
DoEvents
Loop
Open Text1.Text For Binary As #1
OFbyt = InputB(LOF(1), 1)
For n = 0 To (LOF(1) / 1023)
'将档案以1023byte分成一段一段
winsock1.SendData "Command-Take"
'告诉目的端,要送出档案的某个区段
Do Until SndFlag = 6
DoEvents
Loop
PFbyt = MidB(OFbyt, n * 1023 + 1, 1023)
winsock1.SendData PFbyt
'送出档案的区段
Do Until SndFlag = 7
DoEvents
Loop
SndFlag = 5
Next
Close #1
SndFlag = 7
winsock1.SendData "TheEnd"
Do Until SndFlag = 8
DoEvents
Loop
MsgBox "传档结束"
winsock1.Close
Exit Sub
DoWithErr:
Select Case Err.Number
Case 126
Resume Next
Case Else
MsgBox "错误原因:" & Error & vbCrLf & "错误代码:" & Err.Number & vbCrLf & "中断执行"
winsock1.Close
Exit Sub
End Select
End Sub
请问我该如何解决
winsock1.RemoteHost = "114.40.230.3"
winsock1.Bind 9998
On Error GoTo DoWithErr
Dim OFbyt() As Byte '读入档案的缓冲
Dim PFbyt() As Byte '档案分解的缓冲
SndFlag = 1
'旗标设为1 , 记录开始传送档案
winsock1.SendData "SendFile"
Do Until SndFlag = 2
DoEvents
Loop
'回圈的目的是等代目的端电脑有回应
'一定要有DoEvents,否则Winsock会无法接收资料
winsock1.SendData "SendFileName"
'告诉目的端,我要开始传档
Do Until SndFlag = 3
DoEvents
Loop
winsock1.SendData Text1.Text
'告诉目的端,我要传的档名
Do Until SndFlag = 4
DoEvents
Loop
winsock1.SendData "OpenFileToWrite"
'告诉目的端,开起档案,并准备写入
Do Until SndFlag = 5
DoEvents
Loop
Open Text1.Text For Binary As #1
OFbyt = InputB(LOF(1), 1)
For n = 0 To (LOF(1) / 1023)
'将档案以1023byte分成一段一段
winsock1.SendData "Command-Take"
'告诉目的端,要送出档案的某个区段
Do Until SndFlag = 6
DoEvents
Loop
PFbyt = MidB(OFbyt, n * 1023 + 1, 1023)
winsock1.SendData PFbyt
'送出档案的区段
Do Until SndFlag = 7
DoEvents
Loop
SndFlag = 5
Next
Close #1
SndFlag = 7
winsock1.SendData "TheEnd"
Do Until SndFlag = 8
DoEvents
Loop
MsgBox "传档结束"
winsock1.Close
Exit Sub
DoWithErr:
Select Case Err.Number
Case 126
Resume Next
Case Else
MsgBox "错误原因:" & Error & vbCrLf & "错误代码:" & Err.Number & vbCrLf & "中断执行"
winsock1.Close
Exit Sub
End Select
End Sub
请问我该如何解决
作者: popoty 发布时间: 2011-10-31
因为我没灌VB就直接推测!!
查询Microsoft Visual Basic显示的讯息:
"Wrong protocol or connection state for the requested transaction or request."
(「要求的异动或请求的通讯协定或连线状态错误。」)
查询Microsoft Visual Basic显示的讯息:
引用:
Run-time error: 40006 (Run-Time 错误:40006)"Wrong protocol or connection state for the requested transaction or request."
(「要求的异动或请求的通讯协定或连线状态错误。」)
作者: AMI2000 发布时间: 2011-11-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28