`
langzhe
  • 浏览: 281806 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

misultin集群(两节点通信),测试websocket通信

阅读更多

这几天 需要对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>

~                                                                                                                                                                                                                                                                               
~                    
0
4
分享到:
评论

相关推荐

    html页面测试websocket

    WebSocket是Web应用中一种在客户端和服务器之间建立长连接的协议,它允许双方进行全双工通信,极大地提高了数据传输效率。在这个“html页面测试websocket”的项目中,我们可以看到几个关键文件:`index.html`、`...

    websocket-cluster:这是一个针对WebSocket集群服务器的Spring Cloud项目。

    实战Spring Cloud的WebSocket体现此项目是一个WebSocket实施的实践,基于Spring Cloud。原理我们利用一致性哈希算法,构造一个哈希环,网关监听WebSocket服务实例的上下线消息,根据实例的变化动态地更新哈希环。将...

    websocket通信接口python_python通信_Windows编程_websocket通信_websocket_

    WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行全双工通信,即数据可以在两个方向上同时传输,极大地提高了实时性。在Web应用程序中,WebSocket接口被广泛用于实现低延迟、高效率的实时...

    Nginx安装与使用+WebSocket集群实现及断开重连

    WebSocket协议是一种在客户端和服务器之间建立持久连接的协议,允许双向通信。在Nginx中实现WebSocket集群,需要配置负载均衡策略。 1. **启用WebSocket代理** 在Nginx配置文件中,添加`proxy_set_header Upgrade ...

    WebSocket 离线测试工具(自用)

    这个离线测试工具正是针对WebSocket协议设计的,用于帮助开发者在没有网络连接的情况下,也能进行WebSocket服务端和客户端的交互测试。 WebSocket协议的核心特性包括: 1. **持久连接**:WebSocket建立连接后,...

    jmeter压力测试websocket所需jar包.rar

    WebSocket接口测试是现代Web应用程序中不可或缺的一环,它允许双向通信,为实时应用提供了高效、低延迟的数据传输。在IT行业中,尤其是对于性能测试工程师来说,掌握如何对WebSocket接口进行压力测试至关重要。...

    WebsocketServer测试服务器

    WebSocketServer测试服务器是一种基于WebSocket协议的服务器实现,用于实时、双向通信。WebSocket协议是HTML5引入的一种在单个TCP连接上进行全双工通信的协议,它为客户端和服务器之间的数据交换提供了简单直接的...

    websocket客户端测试工具.rar

    WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行全双工通信,即数据可以在任意方向上流动,而无需反复建立和关闭连接。WebSocket协议被设计为互联网应用程序提供低延迟、高效率的数据传输...

    Websocket测试包.rar

    WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行全双工通信,即数据可以在任意方向上同时传输,极大地提高了实时性。这个"Websocket测试包.rar"很可能包含了一些工具或脚本,用于测试...

    tsung里面测试websocket的插件

    WebSocket是一种在客户端和服务器之间建立长连接的协议,它允许双方进行全双工通信,即数据可以在两个方向上同时传输。相比于传统的HTTP协议,WebSocket提供了更低的延迟和更高的效率,特别适用于实时通信场景,如...

    html5测试websocket.rar

    综合来看,"html5测试websocket.rar"这个压缩包可能包含了一个HTML5 WebSocket的实现以及对Server-Sent Events的集成测试,用于展示这两种技术在实时通信场景下的应用。通过学习和理解这些代码,开发者可以更好地...

    MFC实现WebSocket通信

    8. **测试和调试**:使用WebSocket测试工具或实际服务器进行功能测试,确保客户端能正常发送和接收数据。 总结起来,MFC实现WebSocket通信涉及C++编程、MFC框架的理解、WebSocket协议的掌握以及第三方库的集成。...

    websocket_websocket客户端_客户端和服务器通信_websocket_websocket客户端

    WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行全双工通信,即数据可以在两个方向上同时传输,极大地提高了实时性。在Web应用程序中,WebSocket为实时交互提供了强大的支持,如在线游戏、...

    jmeter测试websocket依赖包

    jmeter测试websocket依赖包,JMeter集成WebSocket需要如下jar文件: 1、JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar 2、jetty-http-9.1.2.v20140210.jar 3、jetty-io-9.1.2.v20140210.jar 4、jetty-util-9.1.2.v...

    使用Jmeter测试WebSocket的接口测试的相关jar包

    6. **websocket-client-9.1.1.v20140108.jar**:WebSocket的客户端实现,允许程序作为WebSocket客户端与WebSocket服务器进行通信,正是我们在JMeter中测试WebSocket接口所需要的组件。 将这些jar包拷贝到Jmeter的\...

    jmeter测试websocket的依赖包

    WebSocket是一种在客户端和服务器之间建立持久连接的协议,它提供了双向通信的能力,使得服务器和客户端可以实时交换数据,而不仅仅是客户端向服务器发送请求后等待响应的传统模式。在IT行业中,WebSocket已经成为...

    Web项目前后端实时通信的WebSocket Demo

    3. **数据帧(Frame)**:WebSocket通信的基本单位是数据帧,包括头部和数据两部分。头部包含了帧类型、长度等信息,数据部分可以是文本或二进制。 4. **事件监听**:在JavaScript中,使用`WebSocket`对象可以监听...

    Websocket测试工具

    用支持Websocket的浏览器打开本网页,可以与Websocket服务器进行通信交互,也可以验证Websocket服务器消息处理是否正确。

    C#版Socket通信含服务端、客户端、WebSocket,代码完整清晰

    本项目包含了一个完整的C#版Socket通信示例,涵盖了服务端、客户端以及WebSocket的实现,对于学习和理解网络通信机制具有很高的参考价值。 首先,我们来详细探讨Socket的基本概念。Socket是网络通信的一种接口,它...

Global site tag (gtag.js) - Google Analytics