我想在客户端发送一串命令到服务端,比如
Data1.Recordset.AddNew
Data1.Recordset("类型") = Text1.Text
Data1.Recordset.Update
怎样令服务端依次执行以上的命令?请高手指点~~请详细说明一下~~谢谢~~解决后马上给分~~

解决方案 »

  1.   

    我的程序是这样写的~~
    服务端:
      With Me
        .SckServer.RemoteHost = "192.168.0.46" '设置远程IP,本例设为本机。
        .SckServer.LocalPort = 1001  '本地端口
        .SckServer.Listen '开始监听
      End With
    End SubPrivate Sub sckServer_ConnectionRequest(ByVal requestID As Long)
      With Me
        If .SckServer.State <> sckClosed Then .SckServer.Close
        .SckServer.Accept (requestID)
      End With
    End SubPrivate Sub sckServer_DataArrival(ByVal bytesTotal As Long)
    On Error Resume Next
    Dim strData As String
    SckServer.GetData strData
    Text1.Text = strData
    End Sub客户端:
    Private Sub Command1_Click()
      sckClient.SendData Text2.Text
    End SubPrivate Sub form_Load()
      With Me
        .sckClient.RemoteHost = "192.168.0.46" '设置远程IP,本例设为本机。
        .sckClient.RemotePort = 1001 '远程端口,就为server中的设置一样.
      End With
      sckClient.Connect
    End Sub我想将客户端的TEXT2中的命令发送到服务端的TEXT1中,再由服务端执行TEXT1中的命令~~
    请高手发上完整源代码,给满分~~谢谢~~
      

  2.   

    你需要定义一套通讯协议,例如:
    客户端发送:
    tcpClient.SendData "AddNew:" & Text1.Text服务端:
    Private Sub tcpServer_DataArrival (ByVal bytesTotal As Long)
        Dim strData As String, n As Integer
        tcpServer.GetData strData
        n = InStr(strData, ":")
        If n = 0 Then Exit Sub
        Select Case Left(strData, n - 1)
            Case "AddNew"
                Data1.Recordset.AddNew
                Data1.Recordset("类型") = Mid(strData, n+1)
                Data1.Recordset.Update
            ......
        End Select
    End Sub
      

  3.   

    只要双方协议定义好就没有什么问题的,
      如楼上的见到AddNew 就执行相应的动作,见到其他的字符再做其他的动作
      

  4.   

    顺便再问一下~~如果我需要向服务端发送十几个指令
    比如:
    Data1.Recordset.AddNew
    Data1.Recordset("类型") = 客户端的TEXT1.TEXT
    Data1.Recordset("编号") = 客户端的TEXT2.TEXT
    Data1.Recordset("名称") = 客户端的TEXT3.TEXT
    Data1.Recordset("单位") = 客户端的TEXT4.TEXT
    Data1.Recordset("数量") = 客户端的TEXT5.TEXT
    ...............
    Data1.Recordset.Update那应该怎样写呢?~~头都晕了~~
    请写得详细一点~~回复后马上给分~~谢谢~~
      

  5.   

    With Me
        .SckServer.RemoteHost = "192.168.0.46" '设置远程IP,本例设为本机。
        .SckServer.LocalPort = 1001  '本地端口
        .SckServer.Listen '开始监听
      End With
    End SubPrivate Sub sckServer_ConnectionRequest(ByVal requestID As Long)
      With Me
        If .SckServer.State <> sckClosed Then .SckServer.Close
        .SckServer.Accept (requestID)
      End With
    End SubPrivate Sub sckServer_DataArrival(ByVal bytesTotal As Long)
    On Error Resume Next
    Dim strData As String
    SckServer.GetData strData
    Text1.Text = strData
    SELECT CASE Text1.Text 
       case "Name"
         Data1.Recordset.AddNew
         Data1.Recordset("类型") = Text1.Text
         Data1.Recordset.Update
       case  else
         ......
    end select
    End Sub客户端:
    Private Sub Command1_Click()
      sckClient.SendData Text2.Text         'Text2.Text 里面的内容要和上面的相同才是.否则执行CASE ELSE
    End SubPrivate Sub form_Load()
      With Me
        .sckClient.RemoteHost = "192.168.0.46" '设置远程IP,本例设为本机。
        .sckClient.RemotePort = 1001 '远程端口,就为server中的设置一样.
      End With
      sckClient.Connect
    End Sub
      

  6.   

    要是这样你在发送的时候把text1 到text5 里面的值连在一起发送
    Data1.Recordset.AddNew
    Data1.Recordset("类型") = 客户端的TEXT1.TEXT
    Data1.Recordset("编号") = 客户端的TEXT2.TEXT
    Data1.Recordset("名称") = 客户端的TEXT3.TEXT
    Data1.Recordset("单位") = 客户端的TEXT4.TEXT
    Data1.Recordset("数量") = 客户端的TEXT5.TEXT比如:
     Private Sub Command1_Click()
      sckClient.SendData trim(Text1.Text) &  "*" & trim(Text2.Text)  &  "*"  & trim(Text3.Text) & "*"  &  trim(Text4.Text) & "*" &  trim(Text5.Text)
    End Sub
      接收的时候
    Private Sub sckServer_DataArrival(ByVal bytesTotal As Long)
    dim a() as string
    On Error Resume Next
    Dim strData As String
    SckServer.GetData strData
    a()= split(strData,"*")
    Data1.Recordset.AddNew
    Data1.Recordset("类型") = a(0)
    Data1.Recordset("编号") = a(1)
    Data1.Recordset("名称") = a(2)
    Data1.Recordset("单位") = a(3)
    Data1.Recordset("数量") = a(4)
    ...............
    Data1.Recordset.Update
    End Sub