| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1937 人关注过本帖
标题:新手报道,按书教程编的程序报Run-time error '40006'错。
只看楼主 加入收藏
mayong123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-10-30
收藏
 问题点数:0 回复次数:6 
新手报道,按书教程编的程序报Run-time error '40006'错。
客户端
Option Explicit
Private IgnoreText As Boolean
Private Sub cmdClear_Click()
Text2 = ""
With Text1
'Clear the text window and
.Text = ""
'retuen the focus
.SetFocus
End With
End Sub
Private Sub Command1_Click()
On Error GoTo ErrHandler
With sckconnect
.RemoteHost = Trim(TxtServerIP)
.RemotePort = Trim(TxtRemotePort)
If .LocalPort = Empty Then
.LocalPort = Trim(TxtLocalPort)
End If
End With
TxtLocalPort.Locked = True
sckconnect.Connect sckconnect.RemoteHost, sckconnect.RemotePort
StatusBar1.Panels(1).Text = "已连接到""&sckconnect.RemoteHost&"
Text1.SetFocus
Exit Sub
ErrHandler:
MsgBox "与指定服务器连接失败", vbCritical
End Sub
Private Sub Form_Load()
TxtServerIP = sckconnect.LocalIP
TxtLocalPort = 1014
TxtRemotePort = 2014
TxtUserName = "张三"
End Sub
Private Sub sckconnect_DataArrival(ByVal bytesTotal As Long)
Dim cdata As String
sckconnect.GetData cdata, vbString
Text2.SelText = cdata
'StatusBar1.Panels(2).Text="Recieved"&bytesTotal&"bytes"
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Static Last_Line_Feed As Long
Dim New_Line As String
If Trim(Text1) = vbNullString Then
Last_Line_Feed = 0
End If
If KeyAscii = 13 Then
New_Line = Mid(Text1, Last_Line_Feed + 1)
Last_Line_Feed = Text1.SelStart
sckconnect.SendData TxtUserName & ("&sckconnect.LocalIP&") & New_Line
StatusBar1.Panels(2).Text = "sent" & (LenB(New_Line) / 2) & "bytes"
End If
End Sub

服务端
Private Sub Form_Load()
sckserver(0).Bind sckserver(0).LocalPort
sckserver(0).Listen
End Sub
Private Sub Form_Unload(Cancel As Integer)
If sckconnetc.State <> sckClosed Then
sckconnetc.Close
End If
End Sub
Private Sub sckserver_connectrequest(Index As Integer, ByVal requestID As Long)
Dim sip As String
Dim I As Integer
sip = sckserver(0).RemoteHostIP
I = 1
Do While I <= sckserver.Ubound
If sckserver(I).RemoteHostIP = sip Then
sckserver(I).Accept requestID
Exit Sub
End If
I = I + 1
Loop
Load sckserver(I)
sckserver(I).Accept requestID
StatusBar1.Panels(1).Text = requestID & "已连接"
End Sub
Private Sub sckserver_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim sdata As String
sckserver(1).GetData sdata, vbString
Text2.SelText = sdata
For I = 1 To sckserver.Count
If sckserver(I).State <> sckClosed Then
sckserver(I).SendData sdata
End If
Next I
End Sub

错误如图:
图片附件: 游客没有浏览图片的权限,请 登录注册


[[it] 本帖最后由 mayong123 于 2008-11-2 18:03 编辑 [/it]]
搜索更多相关主题的帖子: 教程 
2008-10-31 20:55
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
我看到了个拼写错。

sckerver
2008-10-31 22:34
mayong123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-10-30
收藏
得分:0 
谢谢。。。改了还是不可以。。。
还有状态栏里的函数也显示错误。。。

我这书好像有问题,完全按编连生成都不可以。。。。。
2008-10-31 22:59
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
服务端LocalPort指定了吗?

你还要指出是错在了哪一行,不要让别人看你这么大一段代码,多累啊]

错误描述大致是:协议或传输请求状态错误.

协议的错误一般也就是端口方面了,然后还有打开连接前是否关掉了以前的连接,一个Winsock不能同时打开两个连接的
2008-11-01 13:52
mayong123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-10-30
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


现在就是不知道哪句出毛病了,那书也有错别字。 附上 源码

帮忙看看

源码.rar (4.47 KB)
2008-11-01 17:31
mayong123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-10-30
收藏
得分:0 
调试时发现这句
sckconnect.SendData TxtUserName & ("&sckconnect.LocalIP&") & New_Line


这句报“所需事物或请求的错误协议或连接状态”错误

[[it] 本帖最后由 mayong123 于 2008-11-2 18:05 编辑 [/it]]
2008-11-02 18:02
mbstorm
Rank: 1
等 级:新手上路
帖 子:166
专家分:0
注 册:2008-10-31
收藏
得分:0 
不懂哦,正在学
2008-11-02 20:24
快速回复:新手报道,按书教程编的程序报Run-time error '40006'错。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020613 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved