Fleck是一个开源的使用C#封装的WebSocket服务端工具库。

一、服务端搭建

这里选择在.net core 2.1框架下新建了一个控制台程序

在项目里使用NuGet引入Fleck包

NuGet引入Fleck包

其它方式也可以,最终引入项目里都是Fleck.dll

Fleck.dll

二、服务端实例

Github上的简单例子:

简单例子

简单实例:

using System;

using System.Collections.Generic;

using System.Linq;

using Fleck;

namespace ConsoleApp1

{

class Program

{

static voidMain(string[] args)

{

socketTest();

}

Public static voidsocketTest()

{

//管理Socket

var allSockets = newList();

//配置地址

var server = newWebSocketServer("ws://127.168.0.100:50000");

//出错后进行重启

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("bili: " +message));

};

});

var input =Console.ReadLine();

foreach (varsocket in allSockets.ToList())

{

socket.Send(input);

}

input =Console.ReadLine();

}

}

}

socket

三、客户端测试实例(网上copy)

websocket client

websocket client Test

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 ..
";

// create a new websocket and connect

window.ws = new wsImpl('ws://127.168.0.100:50000‘’);

// when data is comming from the server, this metod is called

ws.onmessage = function (evt) {

inc.innerHTML += evt.data + '
';

};

// when the connection is established, this method is called

ws.onopen = function () {

inc.innerHTML += '.. connection open
';

};

// when the connection is closed, this method is called

ws.onclose = function () {

inc.innerHTML += '.. connection closed
';

}

form.addEventListener('submit', function (e) {

e.preventDefault();

var val = input.value;

ws.send(val);

input.value = "";

});

}

window.onload = start;

test

浏览器打开网页就可以测试了。

fleck 客户端_C#中使用Fleck实现WebSocket通信简例相关推荐

  1. c语言实现stomp协议客户端,在vue中使用SockJS实现webSocket通信

    最近接到一个业务需求,需要做一个聊天信息的实时展示的界面,这就需要和 服务器 端建立webSocket连接,从而实现数据的实时获取和视图的实时刷新.在此将我的实现记录下来,希望可以给有同样需求的人一些 ...

  2. 在vue中使用SockJS实现webSocket通信

    最近接到一个业务需求,需要做一个聊天信息的实时展示的界面,这就需要和服务器端建立webSocket连接,从而实现数据的实时获取和视图的实时刷新.在此将我的实现记录下来,希望可以给有同样需求的人一些帮助 ...

  3. fleck 客户端_C# Fleck的WebSocket使用

    (1). Web网页端代码 WebSocket测试 .div1 { height:88px; width:173px; border:1px solid blue; margin:auto; } h4 ...

  4. C# WebSocket(Fleck) 客户端:html Winfrom

    目录 一.简介 二.服务端 1.新建项目 2.WebSocketHelper 3.Program 三.客户端 1.html 2.Winform 结束 一.简介 WebSocket 是一种在单个TCP连 ...

  5. Android中脱离WebView使用WebSocket实现群聊和推送功能

    WebSocket是Web2.0时代的新产物,用于弥补HTTP协议的某些不足,不过他们之间真实的关系是兄弟关系,都是对socket的进一步封装,其目前最直观的表现就是服务器推送和聊天功能.更多知识参考 ...

  6. 在vue中webSocket通信

    1.简单介绍 基于webSocket通信的库主要有 socket.io,SockJS,这次用的是 SockJS. 2.前提 这里我们使用sockjs-client.stomjs这两个模块,要实现web ...

  7. 在.NET客户端程序中使用多线程

    在.NET客户端程序中使用多线程通常认为在编写程序中用到多线程是一个高级的编程任务,容易发生错误.在本月的栏目中,我将在一个Windows窗体应用程序中使用多线程,它具有实际的意义,同时尽量使事情简单 ...

  8. [转]MSDN - 在客户端脚本中为 UpdateProgress 控件编程

    本文转自: http://msdn.microsoft.com/zh-cn/library/bb386518.aspx 在本教程中,将通过编写 ECMAScript (JavaScript) 代码来扩 ...

  9. activex 控件的id 定义位置+使用ocx控件的客户端程序中对控件定义的文件中控件id定义的位置...

    activex 控件的id 定义位置 // SuperDisplayCtl.cpp IMPLEMENT_OLECREATE_EX(CSuperDisplayCtrl, "SuperDispl ...

最新文章

  1. catia 工厂设计_SolidWorks、creo、UG哪个更适合机械设计?
  2. SCCM2012 RBA
  3. leetcode 473. Matchsticks to Square | 473. 火柴拼正方形(递归)
  4. 武汉大学计算机考研 专业课程,2018武汉大学计算机考研复试经验贴
  5. Asp.net Core 2.1新功能Generic Host(通用主机)深度学习
  6. 快速排序在最坏的情况下时间复杂度(Ω(nlgn)(算法导论第三版9.3-3))
  7. 建立一个mysql 文件命令是_使用命令行创建数据库
  8. 日志系统实战(一)—AOP静态注入
  9. 数学竞赛辅导陈启浩pdf_高中数学一题多解经典题型汇编(一)
  10. WinISO5.3 注册码 不需要注册机!
  11. Web项目【用户管理系统】完整版
  12. 解决win10虚拟机和主机不能互相粘贴复制的问题
  13. java接口自动化监控_java接口自动化(三) - 手工接口测试到自动化框架设计之鸟枪换炮...
  14. C语言从入门到精通——指针基础
  15. php mysql 单引号_插入MySQL时转义PHP中的单引号
  16. 微信小程序——简单饮食推荐(四)
  17. 16,甲流疫情死亡率
  18. 去除数组中指定元素的方法
  19. 小小的宏 大大的世界
  20. 住在储藏室的小夫妻【zt】

热门文章

  1. 两种简单方法:把输入的整数(最多不超过五位),按输入的反方向输出。例如输入12345,要求输出结果是54321.编程实现此功能。
  2. gels imagej 图片处理_ImageJ在荧光照片分析中的应用介绍
  3. CDA二级易错点总结
  4. Mongoose Populate
  5. elasticsearch 分词器器读写分词
  6. Windows微信刷朋友圈
  7. 风口上的小游戏还有怎样的发展空间?7位腾讯技术专家为你解答
  8. 数商云化妆品行业电商平台系统解决方案
  9. 在可靠的头肩底中淘金(转 封起De日子)
  10. Solaris下网卡绑定多个IP