这几天 需要对misultin做一个简单的测试
就想到了rpc关键代码 rpc:multicall([node()|nodes()], misultin_websocket_sessions_example, rpc, [Data]),
顺便看了一眼rpc源代码,原来也是调用了otp中的gen_server中的方法
% callback on received websockets data
% ets:new(s,[named_table,public]).
handle_websocket(Ws) ->
io:format("~p Ws=~p~n", [?LINE, Ws]),
receive
{browser, "token:"++User} ->
Ws:send(["received '", User, "'"]),
ets:insert(s, {User, Ws}),
handle_websocket(Ws);
{browser, Data} ->
Ws:send(["received '", Data, "'"]),
%rpc(Data),
rpc:multicall([node()|nodes()], misultin_websocket_sessions_example, rpc, [Data]),
handle_websocket(Ws);
_Ignore ->
handle_websocket(Ws)
after 60000 ->
handle_websocket(Ws)
end.
rpc(Data) ->
ListWs = ets:tab2list(s),
[W:send(["From ':", Data, "'"]) || {_N, W}<-ListWs].
test js
<html>
<body>
<p id="socketStatus"></p>
<input type="text" id="inputMessage" value="hello websocket">
<input type="text" id="to" value="Bill">
<button id="sendButton">send</button>
<button id="sendButtonjson">sendjson</button>
</body>
{% block link %}
{% endblock %}
</html>
<script type="text/javascript">
//alert(window.WebSocket);
socket = new WebSocket("ws://192.168.18.119:8001/test", "some_service_name");
socket.onopen = function(){
//alert("connected");
//socket.send("accepting....");
updateSocketStatus("Connected to WebSocket ");
};
socket.onmessage = function(e){
//alert("message");
//alert(e.data);
updateSocketStatus(e.data);
//updateSocketStatus("update to WebSocket "+e);
//updateSocketStatus("update to WebSocket "+dataReturned(e.data));
};
socket.onclose = function(e){
// alert("close");
//alert(typeof(e));
updateSocketStatus("close "+e.data);
};
function updateSocketStatus(message){
msg = document.getElementById("socketStatus").innerHTML +"</br>"+ message;
document.getElementById("socketStatus").innerHTML = msg;
}
/**
*/
window.onload = function(){
document.getElementById("sendButton").onclick = function() {
var message = document.getElementById("inputMessage").value;
socket.send(message);
}
document.getElementById("sendButtonjson").onclick = function() {
var to = document.getElementById("to").value;
//var txt = '{"message" : [{ "to":"Bill" , "text":"Gates" }]}';
var txt = 'direct_messages/new/{ "to":"'+ to + '" , "text":"Gates" }';
socket.send(txt);
}
};
</script>
~
~
分享到:
相关推荐
WebSocket是Web应用中一种在客户端和服务器之间建立长连接的协议,它允许双方进行全双工通信,极大地提高了数据传输效率。在这个“html页面测试websocket”的项目中,我们可以看到几个关键文件:`index.html`、`...
实战Spring Cloud的WebSocket体现此项目是一个WebSocket实施的实践,基于Spring Cloud。原理我们利用一致性哈希算法,构造一个哈希环,网关监听WebSocket服务实例的上下线消息,根据实例的变化动态地更新哈希环。将...
WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行全双工通信,即数据可以在两个方向上同时传输,极大地提高了实时性。在Web应用程序中,WebSocket接口被广泛用于实现低延迟、高效率的实时...
综上所述,"基于Netty的Java WebSocket集群框架"项目涵盖了网络编程、WebSocket协议、Java后端开发、分布式系统等多个方面的技术,是一个综合性的实战项目,对于提升开发者在实时通信领域的技能具有很高的价值。
WebSocket协议是一种在客户端和服务器之间建立持久连接的协议,允许双向通信。在Nginx中实现WebSocket集群,需要配置负载均衡策略。 1. **启用WebSocket代理** 在Nginx配置文件中,添加`proxy_set_header Upgrade ...
WebSocket 和 Stomp 是现代Web应用中用于实现实时通信的两个关键技术。WebSocket 提供了全双工(双向)通信协议,允许服务器和客户端之间进行高效的数据交换,而Stomp是一种简单可移植的消息传递协议,它可以在...
这个离线测试工具正是针对WebSocket协议设计的,用于帮助开发者在没有网络连接的情况下,也能进行WebSocket服务端和客户端的交互测试。 WebSocket协议的核心特性包括: 1. **持久连接**:WebSocket建立连接后,...
WebSocket接口测试是现代Web应用程序中不可或缺的一环,它允许双向通信,为实时应用提供了高效、低延迟的数据传输。在IT行业中,尤其是对于性能测试工程师来说,掌握如何对WebSocket接口进行压力测试至关重要。...
WebSocketServer测试服务器是一种基于WebSocket协议的服务器实现,用于实时、双向通信。WebSocket协议是HTML5引入的一种在单个TCP连接上进行全双工通信的协议,它为客户端和服务器之间的数据交换提供了简单直接的...
WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行全双工通信,即数据可以在任意方向上同时传输,极大地提高了实时性。这个"Websocket测试包.rar"很可能包含了一些工具或脚本,用于测试...
WebSocket是一种在客户端和服务器之间建立长连接的协议,它允许双方进行全双工通信,即数据可以在两个方向上同时传输。相比于传统的HTTP协议,WebSocket提供了更低的延迟和更高的效率,特别适用于实时通信场景,如...
综合来看,"html5测试websocket.rar"这个压缩包可能包含了一个HTML5 WebSocket的实现以及对Server-Sent Events的集成测试,用于展示这两种技术在实时通信场景下的应用。通过学习和理解这些代码,开发者可以更好地...
8. **测试和调试**:使用WebSocket测试工具或实际服务器进行功能测试,确保客户端能正常发送和接收数据。 总结起来,MFC实现WebSocket通信涉及C++编程、MFC框架的理解、WebSocket协议的掌握以及第三方库的集成。...
WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行全双工通信,即数据可以在两个方向上同时传输,极大地提高了实时性。在Web应用程序中,WebSocket为实时交互提供了强大的支持,如在线游戏、...
6. **websocket-client-9.1.1.v20140108.jar**:WebSocket的客户端实现,允许程序作为WebSocket客户端与WebSocket服务器进行通信,正是我们在JMeter中测试WebSocket接口所需要的组件。 将这些jar包拷贝到Jmeter的\...
WebSocket是一种在客户端和服务器之间建立长连接的协议,它提供了双向通信的能力,使得服务器和客户端可以实时交换数据,而不仅仅是客户端向服务器发送请求。在IT行业中,WebSocket接口的测试是确保应用程序性能和...
WebSocket是一种在客户端和服务器之间建立持久连接的协议,它提供了双向通信的能力,使得服务器和客户端可以实时交换数据,而不仅仅是客户端向服务器发送请求后等待响应的传统模式。在IT行业中,WebSocket已经成为...
3. **数据帧(Frame)**:WebSocket通信的基本单位是数据帧,包括头部和数据两部分。头部包含了帧类型、长度等信息,数据部分可以是文本或二进制。 4. **事件监听**:在JavaScript中,使用`WebSocket`对象可以监听...
WebSocket-Bench是一款强大的性能测试工具,专为评估WebSocket服务的性能而设计。WebSocket是一种在Web应用中实现全双工通信的协议,它允许服务器和客户端实时、双向地交换数据,从而极大地提升了网络应用的交互性。...
用支持Websocket的浏览器打开本网页,可以与Websocket服务器进行通信交互,也可以验证Websocket服务器消息处理是否正确。