Connect事件只在连接完成时发生,vb端要在winsock控件的DataArrival事件中接受数据

解决方案 »

  1.   

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim strdata As String
    Winsock1.GetData strdata, vbByte
    MsgBox strdata, , "client"
    If IsNull(strdata) Then
    Else
    msnshow.LabMessage.Caption = msnshow.LabMessage.Caption + "条新消息"
    msnshow.Show
    End IfEnd Sub
    Private Sub Winsock1_Connect()
    Winsock1.SendData Text1.Text
    Call Winsock1_DataArrival(100) //没有办法才这么写的 
    End Sub
    gcj123如何解决呀
      

  2.   

    当有数据到达的时候winsock控件会触发DataArrival事件,因此你应该编写DataArrival事件处理代码来收数据,如下:
    Private Sub Winsock1_DataArrival()
    Dim strData As String
    With Winsock1
    .SendData "ay"
    .GetData strData, vbString
    End With
    MsgBox strData
    If strData = Null Or strData = "" Then
    msnshow.LabMessage.Caption = msnshow.LabMessage.Caption + strData + "条新消息"
    msnshow.Show
    Else
    End If
      
    End Sub