Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说C#开源之WebSocket客户端和服务器端,希望能够帮助你!!!。
C#实现基于WebSocket协议的客户端和服务器源码。
来源:GitHub(4600) https://github.com/sta/websocket-sharp
协议:MIT
官网:http://sta.github.io/websocket-sharp/
Nuget:WebSocketSharp
WebSocket Client实现代码,支持Nuget包安装
using System;
using WebSocketSharp;
namespace Example
{
public class Program
{
public static void Main (string[] args)
{
using (var ws = new WebSocket ("ws://dragonsnest.far/Laputa")) {
ws.OnMessage += (sender, e) =>
Console.WriteLine ("Laputa says: " + e.Data);
ws.Connect ();
ws.Send ("BALUS");
Console.ReadKey (true);
}
}
}
}
注意其中几个事件
OnOpen,该方法在建立连接时触发
ws.OnOpen += (sender, e) => {
...
};
OnMessage,在接收消息时触发,接收的消息内容支持字符串和二进制,e.IsText或者e.IsBinary来判断。
ws.OnMessage += (sender, e) => {
...
};
WebSocket Server实现代码
using System;
using WebSocketSharp;
using WebSocketSharp.Server;
namespace Example
{
public class Laputa : WebSocketBehavior
{
protected override void OnMessage (MessageEventArgs e)
{
var msg = e.Data == "BALUS"
? "I've been balused already..."
: "I'm not available now.";
Send (msg);
}
}
public class Program
{
public static void Main (string[] args)
{
var wssv = new WebSocketServer ("ws://dragonsnest.far");
wssv.AddWebSocketService<Laputa> ("/Laputa");
wssv.Start ();
Console.ReadKey (true);
wssv.Stop ();
}
}
}
整个WebSocket通讯只需要几行代码即可实现。
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章