因此我们有一个应用程序可以进行udp调用并发送数据包。但是,由于为UDP调用提供了响应,我们如何确保服务已启动且端口已打开并且存储内容已存储?
我们现在唯一的想法是发送测试数据包并确保它们被保存到数据库中。
所以我的问题是,是否有更好,更简单的方法来确保我们的udp调用成功?
答案 0 :(得分:3)
在侦听主机上,您可以使用 netstat 验证端口是否已打开。例如,如果您的应用程序使用UDP端口68,则可以运行:
# Grep for :<port> from netstat output.
$ netstat -lnu | grep :68
udp 0 0 0.0.0.0:68 0.0.0.0:*
您还可以将一些测试数据发送到您的应用程序,然后检查您的数据库以验证夹具数据是否已进入您的数据库。这并不意味着它总会如此,只是它在测试时正在工作。
最终,问题是UDP数据包是尽力而为,并不能保证。因此,除非您可以将您的日志记录平台配置为在收到和/或写入数据后发送某种确认,否则您无法保证任何内容。 UDP的本质是它将确认(如果有的话)留给应用层。
答案 1 :(得分:0)
我们采用了不同的方法,我们正在检查以确保调用它到数据库。它很容易查询表并确保记录在那里。如果没有最近,我们知道有些事情是错的。 CodeGnome有个好主意,不是我们去的路线。谢谢!