fleck 客户端_C中使用Fleck实现WebSocket通信简例

fleck 客户端_C中使用Fleck实现WebSocket通信简例Fleck 是一个开源的使用 C 封装的 WebSocket 服务端工具库 一 服务端搭建这里选择在 netcore2 1 框架下新建了一个控制台程序在项目里使用 NuGet 引入 Fleck 包 NuGet 引入 Fleck 包其它方式也可以 最终引入项目里都是 Fleck dllFleck dll 二 服务端实例 Github 上的简单例子 简单例子简单实例 usingSystem usingSystem Collec

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

一、服务端搭建

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

在项目里使用NuGet引入Fleck包

d1393b591f16

NuGet引入Fleck包

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

d1393b591f16

Fleck.dll

二、服务端实例

Github上的简单例子:

d1393b591f16

简单例子

简单实例:

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();

}

}

}

d1393b591f16

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’);

// 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) {

};

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

ws.onopen = function () {

};

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

ws.onclose = function () {

}

form.addEventListener(‘submit’, function (e) {

e.preventDefault();

var val = input.value;

ws.send(val);

input.value = “”;

});

}

window.onload = start;


d1393b591f16

test

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218046.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午8:10
下一篇 2026年3月18日 上午8:11


相关推荐

  • Claude Code技能包管理 Agent Skills Hub实操指南

    Claude Code技能包管理 Agent Skills Hub实操指南

    2026年3月12日
    5
  • android apk获取系统签名[通俗易懂]

    android apk获取系统签名[通俗易懂]android打包系统APK一准备材料1signapk包1)通常在源码环境的build\tools\signapk目录下,包含如下文件:拿到上述文件之后还不能直接签名,需要将signapk编译,生成一个signapk.jar包,步骤如下:把signapk放到E盘(E:\signapk),命令行cd到此目录下(signapk.java代码目录)下执行:E:\signapk>…

    2022年6月21日
    52
  • 阿里Qwen管理层调整:阿里云CTO周靖人代管千问模型一号位

    阿里Qwen管理层调整:阿里云CTO周靖人代管千问模型一号位

    2026年3月12日
    2
  • BoundsChecker用法「建议收藏」

    最近我发现我那个程序泄露严重,手动也查不出来。指针乱指。所以刚下了个BoundChecker6.0版的嘿嘿ie在网上看到了它的用法,感觉还不错。BoundsChecker用法http://blog.sina.com.cn/u/53d9f7e9010007fzBoundsChecker是一个Run-Time错误检测工具,它主要定位程序在运行时期发…

    2022年4月8日
    44
  • centos7安装python3.6_centos python3安装

    centos7安装python3.6_centos python3安装Centos7下安装Python3的方法由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。[root@VM_105_217_centosPython-3.6.2]#pythonPython2.7.5(default,Aug42017,00:39:18)[GCC4.8.520150623(RedHat4.8.5-16)]onlinux2Type”help”,”copyrig…

    2026年3月6日
    4
  • SQL注入学习「建议收藏」

    SQL注入学习「建议收藏」SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。学习目的:能找到注入点能判断数据库是什么类型能绕过各种过滤SQL注入平台层注入原因:数据库平台漏洞或数据库配置不安全代码层注入原因:程序员对输入未进行细致地过滤,从而执行了非法的数据查询SQL注入漏洞的方法数字注入字符串注入SQL注入方法有很多种,按数据类型可以分为

    2022年8月20日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号