问什么我的程序第一次监听可以,在客户端不断开的情况下,我再监听另一个为什么就不可以了呢?报错:操作完成。进行中没有分块操作。这是为什么啊?!!Private Sub Command1_Click()
If Check1.Value = 0 And Check2.Value = 0 And Check3.Value = 0 And Check4.Value = 0 And Check5.Value = 0 And Check6.Value = 0 And Check7.Value = 0 And Check8.Value = 0 Then
view.Text = view.Text & "请选择监听通道" & Chr(13) & Chr(10)
ElseIf view.Text = view.Text Or view.Text = view.Text & "正在监听,请稍候......" & Chr(13) & Chr(10) Then
view.Text = view.Text & "正在监听,请稍候......" & Chr(13) & Chr(10)
Winsockserver.LocalPort = 1001
Winsockserver.Listen
End If
End Sub
第二次监听,就在红字地方报错。请哪位高手指点一下。谢谢了

解决方案 »

  1.   

    同一个Winsock 在没有断开的情况下是不能再次监听的.
      

  2.   

    我给你一个思路.(做服务器的)
    1.建立一个Winsock(0) 一般下标是0
    2.设置监听端口,进入监听状态.
    3.当监听到的时候.在
    Winsock1_ConnectionRequest事件中返回.
    并加载一个新的Winsock.并与客户端重新建立连接.
    4.断开Winsock(0).再次进入监听状态.
    5. 重复....
      

  3.   

    请楼上帮忙看看,哪里还有问题
    Private Sub Command1_Click()
    If Check1.Value = 0 And Check2.Value = 0 And Check3.Value = 0 And Check4.Value = 0 And Check5.Value = 0 And Check6.Value = 0 And Check7.Value = 0 And Check8.Value = 0 Then
    view.Text = view.Text & "请选择监听通道" & Chr(13) & Chr(10)
        ElseIf (Check1.Value = 1 Or Check2.Value = 1 Or Check3.Value = 1 Or Check4.Value = 1 Or Check5.Value = 1 Or Check6.Value = 1 Or Check7.Value = 1 Or Check8.Value = 1) And view.Text = view.Text Then
           view.Text = view.Text & "正在监听,请稍候......" & Chr(13) & Chr(10)
           Winsockserver0.Close
           Winsockserver1.LocalPort = 1002
           Winsockserver1.Listen
        Else: view.Text = view.Text & "正在监听,请稍候...123..." & Chr(13) & Chr(10)
        End If
    End Sub-----Private Sub Winsockserver0_ConnectionRequest(ByVal requestID As Long)
        
        If Winsockserver0.State <> sckClosed Then Winsockserver0.Close
        Winsockserver0.Accept requestID
        view.Text = view.Text & "已监听到客户机" & Chr(13) & Chr(10)
        Winsockserver1.LocalPort = 1002
        Winsockserver1.Listen
    End Sub
    Private Sub Winsockserver1_ConnectionRequest(ByVal requestID As Long)
        
        If Winsockserver1.State <> sckClosed Then Winsockserver1.Close
        Winsockserver1.Accept requestID
        view.Text = view.Text & "已监听到客户机" & Chr(13) & Chr(10)
        Winsockserver0.LocalPort = 1001
        Winsockserver0.Listen
    End Sub