问题标签 [misultin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - 与 Misultin Erlang HTTP 库上的 TCP/IP 套接字相关的 WebSockets
我必须说我对Misultin对 Web Sockets 的支持印象深刻(这里有一些例子)。我的 JavaScript 正在以“可忽略的”延迟或滞后发出请求并通过网络获取响应,太好了!
看看 WebSockets 的数据处理程序循环的样子,它类似于普通的 TCP/IP 套接字,至少是 Erlang 中的基本方式
这段代码在由 Misultin 生成的进程中执行,这是您在启动服务器时为其提供的功能,如下所示:
有关此的更多代码,请查看示例页面。我有几个问题。
问题 1:我可以像我们通常在 Erlang 中使用 TCP/IP 套接字一样更改 Web 套接字的控制进程吗?(我们通常使用
gen_tcp:controlling_process(Socket,NewProcessId)
:)问题 2: Misultin是唯一支持 WebSockets 的 Erlang/OTP HTTP 库吗?其余的在哪里?
编辑: 现在,我需要能够从 Misultin 传输 WebSocket 控件的原因
想一想
gen_server
将控制 WebSocket 池的一个,比如它是一个游戏服务器。在当前的 Misultin 示例中,对于每个 WebSocket 连接,都有一个控制进程,换句话说,对于每个 WebSocket,都会有一个衍生进程。现在,我知道 Erlang 是 Processes 的英雄,但是,我不希望这样,我希望这些初始进程在处理到我gen_server
的 WebSocket 控制权限后立即终止。我希望这
gen_server
可以在这些 WebSocket 之间切换数据。在当前的实现中,我需要Pid
像这样跟踪 Misultin 的 handle_websocket 进程:
上面,这个想法非常有效,我将所有控制过程保存到 Mnesia Ram 表中,如果应用程序想要向该特定用户发送消息,则根据给定标准查找它。但是,根据我想要实现的目标,我意识到在现实世界中,进程可能太多以至于我的服务器可能会崩溃。我希望至少有一个gen_server
来控制数千个 Web Socket,而不是为每个 Web Socket 拥有一个进程,这样,我可以节省一些内存。
建议: Misultin 的作者可以在他的下一个版本中为我们创建 Web Socket Groups 实现,从而我们可以让一组 WebSockets 由同一进程控制。这将类似于Nitrogen's Comet Groups
其中彗星连接在同一控制下组合在一起。如果这不可能,我们将需要自己进行控制,提供一个 API,我们可以在其中接管这些 Web 套接字的控制。
工程师们对此有何看法?
您对此有何建议和/或评论?
米苏尔廷的作者可以对此说些什么。谢谢大家
erlang - Erlang / Misultin / erlsom 错误 / 进程死亡
二郎代码:
在我编译代码并启动服务器后,我打开了 localhost:8080/,shell 给了我以下错误:
ChicagoBoss 的相同 lib 'erlsom' 成功运行......
之后我尝试使用 xmerl,但结果相似。
javascript - erlang misultin 上的 Websocket - 始终将请求传递给循环而不是 ws_loop
在 misultin 中设置 websocket 非常简单,如下所示。
但是,在我的 javascript 代码ws = new WebSocket("ws://url")
中总是传递给handle_http()
而不是handle_websocket()
.
有谁知道我错过了什么?