2

我有一个 3G+GPS 设备 (Digi WR44),可以将 NMEA 数据包发送到任何 IP 地址。

我想从 Rails(或 Sinatra)应用程序中获取这些数据,但是数据包没有作为有效的 HTTP 请求发送,而且 Rails 和 Sinatra 都失败了。

这是 Rails 错误: ERROR bad Request-Line

还有西纳特拉错误: !!无效的请求

似乎我无法将设备配置为发送有效的 HTTP 请求而不是纯文本,您知道是否有办法处理由纯文本组成的 HTTP 请求?

我尝试使用 PHP 脚本,NMEA 数据包被解释为 request_method,但我想在这个项目中使用 ruby​​(具有模型访问权限)。

非常感谢你的帮助 :)

PS:我正在运行 Ruby、RoR 和 Sinatra 的最新版本

4

1 回答 1

2

我终于找到了一个解决方案,就是用 Socket 库创建一个监听给定端口的 ruby​​ 脚本。此处提供了一些简单但有用的示例:http ://www.tutorialspoint.com/ruby/ruby_socket_programming.htm

在非 Rails Ruby 脚本中访问 activerecord 也很容易:http: //blog.aizatto.com/2007/05/21/activerecord-without-rails/

于 2011-08-24T18:56:43.457 回答