我正在使用here中的JQuery套接字。我试图通过套接字将我的浏览器连接到erlang服务器并测试了erlang服务器我可以放心地认为它接受连接但是为了安全起见它是:
-module(browser).
-export([start/0]).
start() ->
BossProc = spawn(fun() -> listenerSocket([]) end),
{ok, Listen} = gen_tcp:listen(2266,[binary,{packet,4}]),
sloop(Listen, BossProc).
sloop(Listen,BossProc)->
{ok, Socket} = gen_tcp:accept(Listen),
io:format("Someone connected"),
BossProc ! {Socket},
spawn(fun() -> sloop(Listen, BossProc) end),
receive
{tcp, Socket, Bin} -> BossProc ! {broadcast, Bin};
{tcp_closed, Socket} -> io:format("Someone disconnected")
end.
listenerSocket(A) ->
receive
{Socket} -> listenerSocket(lists:append(A,[Socket]));
{broadcast, Msg} -> [J ! {Msg} || J <- A]
end.
这是我的剧本:
$( document ).ready(function() {
var ws = $.websocket("127.0.0.1:2266/", {
events: {
message: function(e) { console.log(e.data) }
}
});
});
问题是虽然这段代码执行但我没有收到来自我的erlang服务器的确认(&#34;某人已连接&#34;未显示)。以下是运行脚本的HTML:
<html>
<head>
<script src="js/jquery-1.11.3.min.js"></script>
<script src="js/jquery.websocket-0.0.1.js"></script>
<scrcpt src="js/brain.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<textarea col = "20" rows = "20" id="text" disabled="true"></textarea><br>
<input type = "text" id = "input" size="25"/><br>
<input type = "button" id="entry" value="Enter" />
</body>
</html>
我确定这是一个非常基本的错误,但是我无法确切地看到代码停止的位置或是否运行