你用的是什么协议?
udp可以直接发送。而tcd/ip不可以。一定要建立连接后在发送。

解决方案 »

  1.   

    TO pp616(平平) 
    用tcd/ip。也是在建立连接后在发送的。
      

  2.   

    Private Sub Command1_Click()
    Dim str() As Byte
    str = Text1.Text
    Winsock1.SendData str
    End SubPrivate Sub Form_Load()
    Winsock1.Connect
    End SubPrivate Sub Form_Unload(Cancel As Integer)
    Winsock1.Close
    Unload Me
    End SubPrivate Sub Timer1_Timer()
    If Winsock1.State <> 7 Then
       MsgBox ("con`t connect sever!!!")
    End If
    Timer1.Enabled = False
    End SubPrivate Sub Winsock1_Connect()Command1.Enabled = True
    End Sub
      

  3.   

    你的代码没有什么问题。不过我给你提个建议。
    控制command1的是否可用可以在form_load 中设置成false 然后在Winsock1_Connect事件中设成true这样更好。不需要用timer控件。你觉得呢??
      

  4.   

    to pp616(平平) 
       我就是这样的command1开始为FALSE,如果代码没问题,那会是什么原因呢?
      

  5.   

    Private Sub Form_Load()
    Data1.DatabaseName = App.Path + "\data.mdb"
    Winsock1.Listen
    End SubPrivate Sub Form_Unload(Cancel As Integer)
    If Winsock1.State <> 0 Then Winsock1.Close
    Unload Me
    End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    If Winsock1.State <> 0 Then
       Winsock1.Close
    End If
    Winsock1.Accept requestID
    End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim all, a1 As String
    Winsock1.GetData a1, vbString
    Text1.Text = a1
    Data1.Recordset.FindFirst "name" + Text1.Text
    If Not Data1.Recordset.EOF Then
      all = "name" + Text2.Text + "pass" + Text3.Text + "address" + Text4.Text
    End If
    Winsock1.SendData all
    End Sub