读书人

Winsock编程的套接字不成块异常

发布时间: 2012-01-16 23:36:51 作者: rapoo

Winsock编程的套接字不成块错误
本人在前一段使用Vb6.0编写一个网络程序(局域网),使用了Winsock控件,同时允许最多50个client同时登录,一开始还可以(指用了一段时间),不过现在,发现服务端经常出现关于Winsock的10035(套接字不成块)错误,出这个错后,所有的client与server的通讯就断了,必须从新启动SERVER的服务,我用的是TCP协议,根据观察,出现这个错是两个client几乎同时连接的时候容易出现,因为我是用一个server(0) l诊听,有新连接就load 一个sock,不知道有什么问题请高手们指点指点!在下不胜感激!!


--------------代码如下

Private Sub Server_ConnectionRequest(Index As Integer, ByVal requestID As Long)

Dim i As Integer
Dim SConnIP As String
Dim dcount As Integer
dcount = 0

If Index = 0 Then

SConnIP = Server(0).RemoteHostIP


If Not SecurityCheck(lsSetupParamet.mSecurity, SConnIP) Then Exit Sub






For i = 1 To Server.Count - 1
If Server(i).RemoteHostIP = SConnIP And Server(i).State = sckConnected Then
CloseSock i
Exit For
End If
Next i

For i = 1 To Server.Count - 1
If Server(i).State = sckClosed Then
dcount = i
Exit For
End If
Next i

If dcount = 0 Then

dcount = Server.Count

Load Server(dcount)
End If


Server(dcount).Accept requestID
xSockSendata (dcount), "LOGIN_ "


End If

End Sub


[解决办法]
这个vb暂时没办法解决的,建议你在ConnectionRequest里面加On error。。。。处理错误

读书人网 >VB

热点推荐