前段时间我发现了Joe Armstrong在Erlang和websocket上的例子,但是我无法得到它的工作。Erlang和websocket
我在Erlang代码中修正了一个错误和一些警告,但是使用Apache我没有得到一个好的结果。
任何人都可以给我一些提示一个非常简单的例子吗?我是否需要将网页与Apache目录中的JavaScript一起放入正常的PHP文件中?
前段时间我发现了Joe Armstrong在Erlang和websocket上的例子,但是我无法得到它的工作。Erlang和websocket
我在Erlang代码中修正了一个错误和一些警告,但是使用Apache我没有得到一个好的结果。
任何人都可以给我一些提示一个非常简单的例子吗?我是否需要将网页与Apache目录中的JavaScript一起放入正常的PHP文件中?
Joe的websocket示例已过时,并依赖于该协议的过时版本。最新的浏览器使用更新的版本(draft-00)
截至今天,从misultin可以得到一个很好的erlang实现。经过测试,与当前的浏览器:
https://github.com/ostinelli/misultin/blob/master/src/misultin_websocket.erl
Misultin已被关闭 - 这是一个耻辱,这是一个很好的框架。 – 2012-06-01 11:24:47
的Yaws网络服务器提供的WebSocket实现。我还写了一个行为来简化基于ws的应用程序的编写。这是我的Erlang工具(当然,第一个在事实)部分:
我发现SockJS-Erlang库工作特棒。最重要的是,如果websocket不可用,它支持后备传输。它使用Cowboy(虽然是旧版本)作为底层服务器,因为它易于集成,所以它很不错。 This escript和this HTML page会给你一个你可以玩的工作演示。
这里是一个注释例如:
start_link(_) ->
application:start(sockjs),
application:start(cowboy),
% generate a SockJS handler
SockjsState = sockjs_handler:init_state(
<<"/browser_socket">>, fun handle_client/3, state, []),
% build the dispatch routes for Cowboy integrating the SockJS handler
Routes = [{'_', [{[<<"echo">>, '...'],
sockjs_cowboy_handler, SockjsState}]}],
% start the cowboy server
cowboy:start_listener(http, 100,
cowboy_tcp_transport, [{port, 8081}],
cowboy_http_protocol, [{dispatch, Routes}]),
% called when a new client connects
handle_client(Conn, init, state) -> {ok, state};
% called when data is received
handle_client(Conn, {recv, Data}, state) ->
% reply to client
Conn:send(Data);
% called when connection is closed
handle_client(_Conn, closed, state) -> {ok, state}.
我关于Apache的建议是使用HAProxy的为你的WebSocket连接和Apache的服务JavaScript和PHP。
这是很难给出任何好的建议,头脑中的问题模糊。有三个部分:1. Erlang代码,2. JavaScript代码,3. Apache及其配置。你可能想分解这个问题,并为每一个问题寻求帮助。 – 2010-11-22 14:43:07
是的,你是对的,我正在寻找一个非常简单的例子,网页和erlang ...在乔的例子 – pdn 2010-11-22 15:40:14