我有一台3G + GPS设备(Digi WR44)可以将NMEA数据包发送到任何IP地址。
我想从Rails(或Sinatra)应用程序获取此数据,但数据包不会作为有效的HTTP请求发送,并且Rails和Sinatra都会失败。
以下是Rails错误: ERROR错误的请求行
Sinatra错误: !请求无效
我似乎无法将设备配置为发送有效的HTTP请求而不是普通内容,您知道是否有办法处理由纯文本组成的HTTP请求?
我尝试使用PHP脚本,NMEA数据包被解释为request_method,但我想在此项目中使用ruby(使用模型访问)。
非常感谢您的帮助:)
PS:我正在运行Ruby,RoR和Sinatra的最新版本
答案 0 :(得分: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/