zoukankan      html  css  js  c++  java
  • Fleck websocket官方事例

    server:

    using Fleck;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    FleckLog.Level = LogLevel.Debug;
    var allSockets = new List<IWebSocketConnection>();
    var server = new WebSocketServer("ws://0.0.0.0:8181");
    server.RestartAfterListenError = true;
    server.Start(socket =>
    {
    socket.OnOpen = () =>
    {
    Console.WriteLine("Open!");
    allSockets.Add(socket);
    };
    socket.OnClose = () =>
    {
    Console.WriteLine("Close!");
    allSockets.Remove(socket);
    };
    socket.OnMessage = message =>
    {
    Console.WriteLine(message);
    allSockets.ToList().ForEach(s => s.Send("Echo: " + message));
    };
    });


    var input = Console.ReadLine();
    while (input != "exit")
    {
    foreach (var socket in allSockets.ToList())
    {
    socket.Send(input);
    }
    input = Console.ReadLine();
    }
    }
    }
    }

    Client:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>websocket client</title>
    <script type="text/javascript">
    var start = function () {
    var inc = document.getElementById('incomming');
    var wsImpl = window.WebSocket || window.MozWebSocket;
    var form = document.getElementById('sendForm');
    var input = document.getElementById('sendText');

    inc.innerHTML += "connecting to server ..<br/>";
    // create a new websocket and connect
    window.ws = new wsImpl('ws://localhost:8181/');
    // when data is comming from the server, this metod is called
    ws.onmessage = function (evt) {
    inc.innerHTML += evt.data + '<br/>';
    };
    // when the connection is established, this method is called
    ws.onopen = function () {
    inc.innerHTML += '.. connection open<br/>';
    };
    // when the connection is closed, this method is called
    ws.onclose = function () {
    inc.innerHTML += '.. connection closed<br/>';
    }

    form.addEventListener('submit', function(e){
    e.preventDefault();
    var val = input.value;
    ws.send(val);
    input.value = "";
    });

    }
    window.onload = start;
    </script>
    </head>
    <body>
    <form id="sendForm">
    <input id="sendText" placeholder="Text to send" />
    </form>
    <pre id="incomming"></pre>
    </body>
    </html>

    在谷歌级firefox测试通过。

  • 相关阅读:
    调试windows service的OnStart事件.
    Windows 7 下 ORACLE10G安装方法
    汉字编码对照表(gb2312/Big5/GB2312)
    FastReport For Delphi7 通用安装方法
    Visual Studio 2008 不能更改安装目录的原因
    全国信息技术标准化技术委员会汉字内码扩展规范(GBK)
    字符编码详解及由来(UNICODE,UTF8,GBK)[转帖]
    淘宝收藏
    蛙蛙推荐:设计一个Tracing组件
    收藏:SYN 攻击原理以及防范技术
  • 原文地址:https://www.cnblogs.com/zxtceq/p/6860014.html
Copyright © 2011-2022 走看看