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测试通过。

  • 相关阅读:
    poj 2777 Count Color
    poj 3264 Balanced Lineup
    hdu 1754 I hate it
    poj 3468 A Simple Problem with Integers
    noip 2013 提高组 Day2 部分题解
    [c/c++]指针(2)
    [c/c++]指针(1)
    vijos 1360 八数码问题
    [复习]快速幂算法
    noip 2013 提高组 day1
  • 原文地址:https://www.cnblogs.com/zxtceq/p/6860014.html
Copyright © 2011-2022 走看看