我有一个应用程序连接到IP摄像头并执行HTTP请求以获取图像和M-JPEG。现在没关系,因为我在开发室里有相机。但是几个星期后,凸轮将投入生产(它们是非常昂贵的凸轮),所以我不会让它们用于测试和调试我的应用程序。
我想知道的是“嘲笑”这些凸轮的最佳方法是什么?目前,我的应用程序正在使用2个摄像头,假设它们位于http://192.168.88.1和http://192.168.88.2。我想到了这个:
就像你看到的那样,我有想法,但我不确定什么是最好的,那里的人在做什么。根据您的答案,考虑到我可能会将其用于单元测试以及相机离开时的正常调试。
谢谢!
答案 0 :(得分:2)
广告。 1:单元测试时这是一种很好的方法 - 您的代码不应该依赖于外部服务器/设备/文件系统。但是你已经看到这种环境可能过于理想化了。但是,我的目标是外部化HTTP基础架构代码 - 这将改善您的测试能力和整体架构。
广告。 2:从来没有听说过,抱歉。
广告。 3:我认为这是最可行的解决方案。如果您曾经使用过servlet,只需抓住Tomcat或Jetty并编写一个。然后在localhost:8080/war_name/servlet_name
下连接到您的servlet,并从中返回您想要的任何内容。 Here是一个简单的例子。
如果您从未听说过Java servlet和servlet容器 - 仍然值得了解它们。但是启动Sun JDK中内置的HTTP服务器可能会更快,请参阅HttpServer API和example。
答案 1 :(得分:1)
如果您想要真实的图像并可以访问网络摄像头,您可以在解决方案中创建一个ASP.Net网络服务,可根据要求从您的网络摄像头中拍摄照片。 当您处于调试模式时,配置您的解决方案以在asp.net developpement服务器上启动Web服务,这样您就不必配置“真正的”Web服务器
以下是从c#获取快照的代码链接 它适用于winforms,但它应该适用于Web服务 http://sites.google.com/site/webcamlibrarydotnet/winfrom-and-csharp-sample-code-and-download
答案 2 :(得分:1)
我建议使用Sinatra创建一个简单的测试工具。 Sinatra非常简单,可以用来存储任何类型的基本Web应用程序。
例如,这是一个使用Sinatra编写的真实程序:
require 'sinatra'
get '/hi' do
"Hello World!"
end
这将运行一个简单的网络侦听器,如果您点击了Hello World!
,它将回复/hi
。
Sinatra是一个基于Ruby的应用程序,如果你了解Ruby,它是最好的。如果您没有,或者您对其他语言有强烈的偏好,Sinatra's Wikipedia page列出了25种类似的应用程序,这些应用程序是用各种其他语言编写的,因此您可以选择使用它。
答案 3 :(得分:0)
在http服务器中使用python build
# sudo python -m http.server 80
Serving HTTP on 0.0.0.0 port 80 ...
123.123.12.1 - - [12/Feb/2018 11:34:02] "GET / HTTP/1.1" 200 -