當(dāng)前有一個(gè)需求,需要網(wǎng)頁(yè)端調(diào)用掃描儀,javascript不具備調(diào)用能力,因此需要在機(jī)器上提供一個(gè)ws服務(wù)給前端網(wǎng)頁(yè)調(diào)用掃描儀。而掃描儀有一個(gè)c#版本的API,因此需要尋找一個(gè)c#的websocket庫(kù)。

java里有大名鼎鼎的netty,通過(guò)搜索,c#可以選擇websocket-sharp來(lái)實(shí)現(xiàn)websocket Server。

使用websocket-sharp創(chuàng)建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 ();
 &nbs