我用INDY做  server 来监听GPRS 模块的连接,用的是TCP/IP协议,可是连接上以后,接收数据的部分出现了问题,我用 integer 收数据,是很大的数,或者是负数!理论上讲,发送的数据应该是   68 00 00 00 01 68 这类的数据,用串口通讯时候就是用 buffer 来完成的,可是到这里我不知道该怎么接收和发送了!有做过类似东西的朋友还请指点一下,谢了

解决方案 »

  1.   

    你当然不能用integer接收数据,因为integer只有四个字节,你要开缓冲区接收数据,再根据数据的类型处理就行了
      

  2.   


    能写出几句代码吗?就是用 IDTCPSERVER 接收存入字节数组就行了。。谢谢了!!麻烦你了。。
      

  3.   

    理论上讲,发送的数据应该是  68 00 00 00 01 68 这类的数据,用串口通讯时候就是用 buffer 来完成的,可是到这里我不知道该怎么接收和发送了!
    ********************************************
    你列出的这个68 00 00 00 01 68应该是协议,那对于传输的数据怎么安排的,你应该最清楚,接收端也用buffer接收,然后根据协议拼装起来即可,你要仅仅使用Integer肯定不行的,比如256=01 00,那你在拼装的时候也就是strtoint64('$'+'01'+'00')即可,这只是使用了2个字节,取的是buffer[0],buffer[1],下一个再取buffer[2],buffer[3],buffer[4],buffer[5]等等