VB winsock 从没见过的问题 ,高手请看....

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:08:21
我用winsock控件做了一个服务器,一个客户机,都放在本机上运行
服务器用的是一个winsock控件数组..

( 首次运行) 能连通

关掉再运行:失败!! (没做任何更改!)

大概5-10分钟后,再运行 能连通!!!

请问各位大侠,这是为什么????? 有什么解决办法?? 是不是关闭时要做一些清扫工作? 怎么清?
部分代码:
Private Sub initTCP()
Winsock1(0).LocalPort = 20007
Winsock1(0).Listen
For i = 1 To maxComputer
Load Winsock1(i)
Next i
End Sub

Private Sub Winsock1_ConnectionRequest(index As Integer, ByVal requestID As Long)
MsgBox ""
Dim i As Integer

For i = 1 To maxComputer
If Winsock1(i).State = sckClosed Then

Winsock1(i).Accept requestID

Exit For
End If
Next i

End Sub

Private Sub Winsock1_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim temp$
Winsock1(index).GetData temp
Call processMSG(index, temp)
End Sub
刚填上close 事

Private Sub sock_Close(Index As Integer)
If winsock1(Index).State <> sckClosed Then
winsock1(Index).Close
End If
end sub
这个写没

重新连接前必须关闭,除 了关闭 还必须卸载控件,因为你已经使它重新连接时自动添加控件

添加如下事件:
Private Sub winsock1_Close(Index As Integer)
winsock1(index).close'关闭连接
unload winsock1(index)'关键
End Sub