我曾经如此尝试过,但是很遗憾,不行!
如果连续用SendData发的话,你会发现一个很奇怪的现象,你所发送的字符串全都拼合在一起了。这样,你的代码中用GetData接受到的是:"NameAgeSex"
--------------------------------------------------------------------
Made by Thirdapple's Studio(http://3rdapple.51.net/)

解决方案 »

  1.   

    我曾经如此尝试过,但是很遗憾,不行!
    如果连续用SendData发的话,你会发现一个很奇怪的现象,你所发送的字符串全都拼合在一起了。这样,你的代码中用GetData接受到的是:"NameAgeSex"
    --------------------------------------------------------------------
    Made by Thirdapple's Studio(http://3rdapple.51.net/)
      

  2.   

    不可以,要么 Winsock1.SendData "Name"&"Age"&"Sex"
    要么每发一个就等待自己定义的反馈信息返回后再发!
      

  3.   

    如果用TCP的话可以自己在传送的字符串数据中添加分隔字符,然后再用代码还原
    依你的例子。
    winsock1.senddata "Name" & chr(0) & "Age" & chr(0) & "Sex" winsock2.getdata re
    i=1
    f=1;
    t=instr(f,re,chr(0))
    while l<>0
      str(i)=mid(re,f,l-f)
      i=i+1
      f=l+1
      t=instr(f,re,chr(0))
    wend
      随手写的,可能有错,反正就是这个意思
      

  4.   

    谢谢大家关注!继续问一下,Winsock的Tcp连接调用一次SendData函数
    可以发送的字节长度有限制吗?
      

  5.   

    同意: landog(landog) 的说法:   Winsock1.SendData "Name"
       do while true
           if winsock1.bytesreceived>0 then
              Winsock1.GetData strData
              if strData="OK" then exit do
           End if
           doevents
       loop
       
       Winsock1.SendData "Age"
       do while true
           if winsock1.bytesreceived>0 then
              Winsock1.GetData strData
              if strData="OK" then exit do
           End if
           doevents
       loop
       Winsock1.SendData "Sex"
       do while true
           if winsock1.bytesreceived>0 then
              Winsock1.GetData strData
              if strData="OK" then exit do
           End if
           doevents
       loop在Winsock2处调用:
      Winsock2.GetData strName,vbString
      Winsock2.SendData "OK"
      Winsock2.GetData strAge,vbString
      Winsock2.SendData "OK"
      Winsock2.GetData strSex,vbString
      Winsock2.SendData "OK"这是一种简单的应答方式,还是可以用的。
      

  6.   

    我编写的一个"网络俄罗斯方块"采用SendComplete事件来处理Private Sub wskElsfk_SendComplete(Index As Integer)
        SendComplete=True
    End SubWinSock1.SendData "xxx"
    While SendComplete=False
       DoEvents
    Wend
    SendComplete=False
      

  7.   

    我编写的一个"网络俄罗斯方块"采用SendComplete事件来处理Private Sub wskElsfk_SendComplete(Index As Integer)
        SendComplete=True
    End SubWinSock1.SendData "xxx"
    While SendComplete=False
       DoEvents
    Wend
    SendComplete=False
      

  8.   

    TCP/IP的传输有限制,你设定的缓存区也可大小更改,
    缓存区最大好象是65535
      

  9.   

    对大数据肯定需要分次发送对发送的参数分割方法
    可以使用自己定义的协议模式
    也可以是使用XML以前都是用自己定义的协议模式
    StrStart+Yourvalue1+StrSpace+YourValue2+StrSpace+Strend
    发送出
    根据这个模式在接收方解析现在用XML,你可以利用XML-RPC,SOAP,或自己规定的XML协议如:
    发出
    <Values>
    <value1>
    strvalue1
    </value1>
    <value2>
    strvalue2
    </value2>
    </values>
    在另一端,通过XML DOM进行解析
    我建议构造符合XML-RPC规范或SOAP规范的协议好些
    以后可以对这个应用进行深度开发
    指望TCP/IP完成参数解析是不可取的
      

  10.   

    如果用TCP的话可以自己在传送的字符串数据中添加分隔字符,然后再用代码还原
    依你的例子。