我试图通过改变DOM对象的源来每100ms从一个文件"获取"一个图像.我可以看到GET调用确实每隔100ms返回正确的图像,但实际的图像显示仅每秒更新一次.这是我的JavaScript代码,它完成了以下工作:
<img id="videoDisplay" style="width:800; height:600"/>
<script type="text/javascript">
function videoDataPoll(filename) {
setTimeout(function() {
document.getElementById("videoDisplay").src = filename + "?random="+(new Date()).getTime();
videoDataPoll(filename);
}, 100);
}
</script>
Run Code Online (Sandbox Code Playgroud)
更新:更改函数以使用预加载如下:
<canvas id="videoDisplay" style="width:800; height:600"/>
<script type="text/javascript">
var x=0, y=0;
var canvas, context, img;
function videoDataPoll() {
var filename = getFilename();
canvas = document.getElementById("videoDisplay");
context = canvas.getContext("2d");
img = new Image();
img.onload = function() {
context.drawImage(img, x, y);
setTimeout("videoDataPoll()", 100);
}
img.src = filename + "?random=" + (new Date()).getTime();
}
<script>
Run Code Online (Sandbox Code Playgroud)
仍然以相同的速度更新(实际上每5秒,而不是最初声明的1秒).因此,对于每50个获取请求(10秒/秒,5秒),元素仅更新一次.
另一个重要注意事项:第二个解决方案在我的本地主机上完美运行,我遇到的问题是当我从远程主机运行相同的网页时.
我正在尝试使用GET请求从服务器检索图像.图像不断变化,所以我想每秒抓取几次图像(目的是显示图像并最终模仿视频).但是,GET请求出了问题.无论我尝试获取图像的速度有多快(每1秒,100毫秒等尝试一次),它每5秒钟只返回一个新图像.它表现得像某个缓存的图像,它只是每5秒更新一次缓存,所有其他时间都会返回旧的,重复的图像.
我已经做了以下尝试来解决问题:
然而它仍然只是每5秒检索一次新图像.
Example Request Headers:
Cache-Control: no-cache
Connection: keep-alive <-- Could this be the problem?
Pragma: no-cache
Example Response Headers:
Cache-Control: no-cache
Cache-Control: no-store
Connection: close
Pragma: no-cache
Server: Apache-Coyote/1.1
Run Code Online (Sandbox Code Playgroud)
我的查询(每次加载图像后经过一段时间后执行):
document.getElementById("videoDisplay").src = filename + "?random="+(new Date()).getTime();
Run Code Online (Sandbox Code Playgroud) 我正在尝试连接到远程mongodb实例,但它一直在抛出错误.
Java代码:
Mongo mongo = new Mongo("172.234.52.24");
DB db = mongo.getDB("myDB");
collection = db.getCollection("myCollection");
Run Code Online (Sandbox Code Playgroud)
但我一直得到以下例外:
java.io.IOException: couldn't connect to [/172.234.52.24:27017] bc:java.net.ConnectException: Connection refused
Run Code Online (Sandbox Code Playgroud)
我还有别的办法吗?当我尝试访问数据库或更改mongo端的某些权限时设置用户名/密码?它只是在ubuntu服务器上安装正常的mongo,没有添加配置或权限.
附加信息:mongo 172.234.52.24:8888也不起作用,说例外:连接失败.我可以ping其他主机,并且知道mongo正在运行它.
有任何想法吗?谢谢!
每当我运行以下代码时:
import com.mysql.jdbc.Driver;
public void insertIntoMysql() {
// Print out classloader information
ClassLoader cl = ClassLoader.getSystemClassLoader();
URL[] urls = ((URLClassLoader) cl).getURLs();
String urlStr = "";
for (int i=0; i < urls.length; i++) {
urlStr += urls[i].getFile() + "\n";
}
System.out.println("Classpath:\n" + urlStr);
// connect to mysql
Class.forName("com.mysql.jdbc.Driver");
String myUrl = "jdbc:mysql://localhost:3306/Compass";
Connection conn = DriverManager.getConnection(myUrl, "root", "newpoint");
...
}
Run Code Online (Sandbox Code Playgroud)
我在 Class.forName 行收到“ClassNotFoundException: com.mysql.jdbc.Driver”错误。但是,我的类路径打印为:
Classpath:
...
/C:/myProjectDir/
Run Code Online (Sandbox Code Playgroud)
我的类路径中有以下 jar“/C:/myProjectDir/mysql-connector-java-5.0.8-bin.jar”。
我已经重新启动了程序,以防万一程序启动时 ClassLoader 正在加载所有内容,但我不断收到该错误。
有什么想法吗?
html ×2
image ×2
java ×2
javascript ×2
jquery ×2
dom ×1
jdbc ×1
mongodb ×1
mongodb-java ×1
mysql ×1
networking ×1
tomcat ×1