C# websocket实现客户端.

.Net技术 码拜 9年前 (2015-11-26) 10460次浏览
求高手给资料或demo下载地址也可以.
功能就是服务端主动给客户端推送消息.目前本人想到的方法是websocket.
但是在网络上找了半天也没有找到C#做客户端的资料. 
本人的客户端是用C#写的.
解决方案:5分
正常情况下websocket的客户端是JS,除非你是用C#使用socket来模拟。
假如是这样的话,你找的应该是websocket协议,就是在HTTP的基础上加了一点点比较简单而且还不太成熟的东西。
解决方案:20分
参考开源项目: websocket-sharp

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);
      }
    }
  }
}
解决方案:15分
上面的是客户端代码,服务器代码示例如下

using System;
using WebSocketSharp;
using WebSocketSharp.Server;
namespace Example
{
  public class Laputa : WebSocketService
  {
    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 ();
    }
  }
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C# websocket实现客户端.
喜欢 (2)
[1034331897@qq.com]
分享 (0)