如何使用golang发送ACK和ENQ等数据包

时间:2016-02-05 08:51:09

标签: go interface tcpserver

我正在为临床实验室机器编写一个界面,该机器使用ASTM协议进行通信(http://makecircuits.com/blog/2010-06-25-astm-protocol.html)。

首先,我尝试使用golang的TCP服务器来接收数据。但无法确定如何将ACK发送回实验室机器。我是golang的新手。任何人都可以建议我如何进行?

1 个答案:

答案 0 :(得分:0)

您提供的链接中的协议适用于RS232。当通过TCPIP发送数据时,它是一个流(接收方必须知道数据何时结束)。通常,当将RS232协议更改为TCPIP时,会在每条消息中添加一个标头,该消息是消息的长度(通常是两个字节),因此,如果要发送ASCII ACK,则发送三个字节,一个双字节长度和一个字节数据。在写这个时你必须刷新缓冲区,就像这样一个小包一样,它不会被传输。