我用UDPClient1.SendBuffer(SendBuff,i);发送了数据包,如何得到服务器的返回状态,并判断是否成功,服务器
返回的是几个16进制数
我发现UDPClient1.ReceiveBuffer(ServerBuff,i,-1);这个函数,是不是服务器端的返回信息???
我定义了ServerBuff : Array[1..MAX_BUFF] of char; i:integer,这样ServerBuff是不是就能得到
服务器的回应了
根据我们自己的协议,服务器返回为
CORRECT: STX  ACK  ETX  CRC 
ERROR: ST X  NAK  errcode  ETX  CRC
其中STX   0x01
    ETX   0x02
    ACK   0x03
    NAK   0x04
ERRCODE分别为01、02、03、我该如何获得服务器的反应,并读取,做判断???谢谢

解决方案 »

  1.   

    1,对
    2,你得到返回的字符以后就根据你的协议看啊。看看是否ServerBuff里面是不是CORRECT或者ERROR所代表的字符啊
      

  2.   

    就用这句读啊UDPClient1.ReceiveBuffer(ServerBuff,i,-1);
    然后你就判断ServerBuff里面的东西是否是你的协议中规定的字符啊,字符判断不会还要我给你写代码吧
      

  3.   

    SendBuffer是没有返回值的吧,因为UDP包发送后不需要返回值 :)
      

  4.   

    要想收到UDPClient1.ReceiveBuffer(?,?,?)内容,必须在服务端在收到你SendBuffer包后,
    调用ABinding.SendTo(??????),把需要返回的信息发送回来。
    SendBuffer(...)本身是不会自动返回信息的。