我只是在我的服务器上实现了一个简单的Websocket系统。我试图测试最大连接数,我做了以下代码:
for(var i=0; i<300; i++){
websocket();
}
function websocket() {
var wsUri = "ws://" + document.location.host + document.location.pathname + "websocket";
var ws = new WebSocket(wsUri);
ws.onopen = function () { ws.send("User connected"); };
ws.onmessage = function (e) { writeToPage(e.data); };
ws.onclose = function () { writeToPage("User disconnected"); };
}
每次我运行它时,前200个用户会被连接,之后,所有请求都被调用onclose()。在web控制台中,我得到以下错误:
Mozilla:加载页面时,与ws://localhost:8080/myapp/websocket的连接中断
Chrome:WebSocket握手时出错:“Connection”标头值不是“upgrade”:upgrade close
我的web应用程序部署在Tomcat 7.0.52
上。我读到默认情况下它只允许200个线程,所以我在conf/server.xml
中为connector
和executor
添加了maxthreads=“1000”
,但结果是相同的。
在web.xml中,我添加了:
<context-param>
<param-name>org.apache.tomcat.websocket.executorMaxSize</param-name>
<param-value>1000</param-value>
</context-param>
我尝试用ws://echo.websocket.org
打开300个websockets,同样只有200个有效。
这是服务器允许的最大连接数吗?这是我可以作为客户端创建的websockets的最大数量吗?这是测试重载的好方法吗?我怎样才能增加数目?
经过大量研究,我发现maxthreads=“1000”
实际上解决了这个问题,但是Mozilla只允许200个套接字。所以我不得不从多台客户端机器上再次进行测试。
FireFox中允许的websocket连接的默认最大数量是200。来源:https://developer.mozilla.org/en/docs/websockets#gecko_7.0
问题内容: 我想使我的网站一次只允许一个会话。例如,假设用户已经登录到我在firefox上的网站,如果该用户再次登录到另一台浏览器(例如同一台计算机或另一台计算机上的Opera),则Firefox上的会话将被破坏。但是,如果仍为一届会议,则有关Firefox的会议仍将保留。我可以知道该怎么做吗?我正在使用php和apache。谢谢。 问候。本杰明 问题答案: 我建议您做这样的事情: 假设用户“ A
#include <stdio.h> #include <pthread.h> int a = 0; int b = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(1); } } void *thread2_fu
问题内容: 我正在使用RxJava计算Android中某些传感器数据的标准化自动相关性。奇怪的是,我的代码引发了一个异常(“ java.lang.IllegalStateException:只允许一个订阅者!”),我不确定该怎么做:我知道GroupedObservables订阅多个订阅者时可能会抛出此异常,但是我不认为我在任何地方都在使用这种东西。 在下面,您找到(最有可能)触发异常的方法: 这是
问题内容: 我正在尝试用JavaFX制作数独游戏,但我不知道如何只允许输入一个字母。对此的答案是调用文本字段并执行以下操作: 上面的方法不适用于复制粘贴…或大量其他事情,等等。像这样使用按键监听器似乎是一个AWFUL想法。一定有更好的东西吗?是否存在文本字段的属性,仅允许输入某些字符,或仅允许输入一定数量的字符? 谢谢! 问题答案: 您可以使用来执行此操作。该可以修改都在文本字段做,如果有一个与之
我在我的Web服务器(Debian/Nginx/Gunicorn)上运行Redis进行会话存储,我有理由相信我的Redis服务器遭到了黑客攻击。这绝对是可能的,因为如果我在另一台机器上针对web服务器运行命令“redis cli-h(HOST IP)”,我就可以进入控制台并运行命令。我有两个问题。首先,如果我在我的iptables文件中添加一个新的部分,如下所示,我会正确地阻止除Web服务器本身之