tttbbb999 发表于 2011-8-17 14:55:28

关于外部数组的解剖、读取~~~

本帖最后由 tttbbb999 于 2011-8-17 14:58 编辑

Func _lian($szCmds)
        TCPStartup()
        $socket = TCPConnect($szIPADDRESSc, $nPORTc)
        If $socket = -1 Then Exit
        TCPSend($socket, StringToBinary($szCmds, 3))
   Do
           $recv = BinaryToString(TCPRecv($socket, 4096),3)
   Until $recv <> ""
   Return $recv   
        If $socket <> -1 Then TCPCloseSocket($socket)
        TCPShutdown()
EndFunc   ;==>_lian这是一个网络调用函数。他向服务端发送一个指令。服务端返回一个包含数据的2维数组。
改函数返回这个2维数组到程序。
请问,程序如何将这个2维数组解开得到:
$recv = "*",$recv = "*",$recv = "*",$recv = "*",........
$recv = "*",$recv = "*",$recv = "*",$recv = "*",........
$recv = "*",$recv = "*",$recv = "*",$recv = "*",........
........................................

目前的难点就 数据时可变的。每一次调用所返回的数组中每维的数据数量都不一样。

即:有时候是$recv,$recv.其他维都不可用。
--------------------------------------------------------------
也就是说不 知道每维的数据范围~~

minterz 发表于 2011-8-17 20:47:22

无法通过tcp发送数组的...

minterz 发表于 2011-8-17 20:48:24

tcp返回的只是字符串...

pusofalse 发表于 2011-8-17 22:35:28

这应该用数据结构,DllStruct*函数。

紫色风林 发表于 2011-8-18 17:28:25

帮顶了。。。。。。

tttbbb999 发表于 2011-8-20 21:08:04

谢谢。DllStructGetData数据结构方式我还没式过。~~
不过 我 发现个 很方便的方法 ,在服务端把 数组 转成2进制字符串,传到客户端再组合成 数组。经过验证,行得通。~~

xiehuahere 发表于 2011-8-21 11:52:10

有兴趣,楼上的将相关代码贴出来瞧瞧呗。怎么将数组转成2进制字符串,又怎么合成数组的?
页: [1]
查看完整版本: 关于外部数组的解剖、读取~~~