当前位置: 首页 > news >正文

国家重点学科建设网站自己做网站都要什么手续

国家重点学科建设网站,自己做网站都要什么手续,重庆网站建设公司下载,有教做衣服的网站吗下面我们介绍一款WebSocket组件websocket-sharp的相关内容。 一.websocket-sharp组件概述 websocket-sharp是一个C#实现websocket协议客户端和服务端#xff0c;websocket-sharp支持RFC 6455#xff1b;WebSocket客户端和服务器#xff1b;消息压缩扩展#xff1b;安全连接…下面我们介绍一款WebSocket组件websocket-sharp的相关内容。 一.websocket-sharp组件概述 websocket-sharp是一个C#实现websocket协议客户端和服务端websocket-sharp支持RFC 6455WebSocket客户端和服务器消息压缩扩展安全连接HTTP身份验证查询字符串起始标题和Cookie通过HTTP代理服务器连接.NET Framework 3.5或更高版本包括兼容环境如Mono。 websocket-sharp是一个单一的组件websocket-sharp.dll。websocket-sharp是用MonoDevelop开发的。所以建立一个简单的方式是打开websocket-sharp.sln并使用MonoDevelop中的任何构建配置例如Debug运行websocket-sharp项目的构建。 上面介绍了.NET项目中添加websocket-sharp组件如果想向Unity项目中使用该DLL 则应将其添加到Unity Editor中的项目的任何文件夹。在Unity的项目中Unity Free有一些约束Webplayer的安全沙箱Web Player中不提供该服务器WebGL网络 WebGL中不可用不适用于此类UWP对System.IO.Compression的有限支持压缩扩展在Windows上不可用iOS / Android的.NET Socket支持如果您的Unity早于Unity 5则需要iOS / Android Pro适用于iOS / Android的.NET API 2.0兼容级别。适用于iOS / Android的.NET API 2.0兼容性级别可能需要在.NET 2.0之后修复缺少某些功能例如System.Func...代理因此我已将其添加到该资产包中。 二.websocket-sharp组件使用方法 1.WebSocket客户端 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);}}} } 由上面的代码示例中使用WebSocketWebSocket URL 创建类的新实例来连接。一个WebSocket.OnOpen当WebSocket连接已经建立发生的事件。WebSocket.OnMessage当发生事件WebSocket接收消息。一个WebSocket.OnClose当WebSocket的连接已关闭发生的事件。如果要异步连接到服务器应该使用该WebSocket.ConnectAsync ()方法。可以使用WebSocket.Send (string)WebSocket.Send (byte[])或WebSocket.Send (System.IO.FileInfo)方法来发送数据。如果您想要异步发送数据则应该使用该WebSocket.SendAsync方法。如果要明确地关闭连接应该使用该WebSocket.Close方法。 2.WebSocket服务器 using System; using WebSocketSharp; using WebSocketSharp.Server;namespace Example {public class Laputa : WebSocketBehavior{protected override void OnMessage (MessageEventArgs e){var msg e.Data BALUS? Ive been balused already...: Im not available now.;Send (msg);}}public class Program{public static void Main (string[] args){var wssv new WebSocketServer (ws://dragonsnest.far);wssv.AddWebSocketServiceLaputa (/Laputa);wssv.Start ();Console.ReadKey (true);wssv.Stop ();}} } 以通过创建继承WebSocketBehavior该类的类定义任何WebSocket服务的行为。可以WebSocketServer通过使用WebSocketServer.AddWebSocketServiceTBehaviorWithNew (string)或WebSocketServer.AddWebSocketServiceTBehavior (string, FuncTBehavior)方法将任何WebSocket服务添加到服务的指定行为和路径。wssv.Start ();启动WebSocket服务器。wssv.Stop (code, reason);停止WebSocket服务器。 3.消息压缩 ws.Compression CompressionMethod.Deflate; 4.HTTP身份验证 ws.SetCredentials (nobita, password, preAuth); 5.通过HTTP代理服务器连接 var ws new WebSocket (ws://example.com); ws.SetProxy (http://localhost:3128, nobita, password); 三.websocket-sharp组件核心对象解析 1.WebSocket.Send() private bool send (Opcode opcode, Stream stream){lock (_forSend) {var src stream;var compressed false;var sent false;try {if (_compression ! CompressionMethod.None) {stream stream.Compress (_compression);compressed true;}sent send (opcode, stream, compressed);if (!sent)error (A send has been interrupted., null);}catch (Exception ex) {_logger.Error (ex.ToString ());error (An error has occurred during a send., ex);}finally {if (compressed)stream.Dispose ();src.Dispose ();}return sent;}} 使用WebSocket连接发送指定的数据该方法存在多个重载版本并且该方法也有异步实现。该方法返回一个布尔类型的参数表示本次信息是否发送成功。该方法接受两个参数Opcode是一个枚举类型表示WebSocket框架类型。该枚举类型值有Cont(等于数值0.表示连续帧)Text(相当于数值1.表示文本框)Binary(相当于数值2.表示二进制帧)Close(相当于数值8.表示连接关闭框架)Ping(相当于数值9.表示ping帧)Pong(相当于数值10.指示pong框)。stream表示一个流对象。该方法设置了锁操作防止并发时出现死锁问题。不过看到代码中对异常的捕获还是有些问题该方法是直接捕获exception异常这样会导致程序捕获代码块中的所有异常这样会影响代码的稳定性和代码的可修复性异常捕获的最好处理方式是将程序进行恢复。 2.WebSocket.CloseAsync() public void CloseAsync (CloseStatusCode code, string reason){string msg;if (!CheckParametersForClose (code, reason, _client, out msg)) {_logger.Error (msg);error (An error has occurred in closing the connection., null);return;}closeAsync ((ushort) code, reason);} 该方法以指定的方式异步关闭WebSocket连接该方法接受两个参数CloseStatusCode表示关闭原因的状态码该参数是一个枚举类型。reason表示关闭的原因。大小必须是123字节或更少。if (!CheckParametersForClose (code, reason, _client, out msg))检查参数关闭。 3.WebSocket.createHandshakeRequest() private HttpRequest createHandshakeRequest(){var ret HttpRequest.CreateWebSocketRequest(_uri);var headers ret.Headers;if (!_origin.IsNullOrEmpty())headers[Origin] _origin;headers[Sec-WebSocket-Key] _base64Key;_protocolsRequested _protocols ! null;if (_protocolsRequested)headers[Sec-WebSocket-Protocol] _protocols.ToString(, );_extensionsRequested _compression ! CompressionMethod.None;if (_extensionsRequested)headers[Sec-WebSocket-Extensions] createExtensions();headers[Sec-WebSocket-Version] _version;AuthenticationResponse authRes null;if (_authChallenge ! null _credentials ! null){authRes new AuthenticationResponse(_authChallenge, _credentials, _nonceCount);_nonceCount authRes.NonceCount;}else if (_preAuth){authRes new AuthenticationResponse(_credentials);}if (authRes ! null)headers[Authorization] authRes.ToString();if (_cookies.Count 0)ret.SetCookies(_cookies);return ret;} 该方法用于客户端创建一个websocket请求创建握手请求。var ret HttpRequest.CreateWebSocketRequest(_uri);根据传入的uri调用HttpRequest的方法创建请求。该方法主要操作http头部信息创建请求。 四.总结 对于这个组件个人感觉还是有一些用这个组件很好的实现了websocket这里也只是简单的介绍需要使用的同学可以自取因为该组件是开源的所以一些实际情况中可以自行修改源码达到最大限度的扩展性。在项目的技术选择中个人比较主张开源免费的框架和组件不仅是项目预算的问题更有方便扩展的作用。
http://www.pierceye.com/news/330446/

相关文章:

  • 网站301定向深圳电梯广告制作公司网站
  • 个人网站做推广系统开发师
  • 智能建站的优势和不足app注册推广拉人
  • 做网站用软件网站制作怎么创业
  • 解放碑电子商务网站建设网站建设英文如何表达
  • 长春好的做网站公司有哪些网站建设标准
  • 公司网站首页大图怎么做台州网站制作定制
  • 网站建设公司软件开发浅谈网站建设开发
  • 松江网站开发培训课程海外域名注册商
  • 智慧景区网站服务建设线下课程seo
  • 做3个网站需要多大的服务器做地铁建设的公司网站
  • 深圳app网站建设哪家好广西桂林
  • 网站开发及上线过程网站建设备案策划书
  • 杭州九鸿科技网站开发网站模板 素材
  • 网站建设网站软件有哪些wordpress如何输入拼音
  • 昆山网站建设哪家便宜简单的模板网站
  • 做图标得英文网站wordpress写代码插件
  • 网站网页设计案例wordprees可以做棋类网站吗
  • 天河区门户网站官网小学生一分钟新闻播报
  • 漯河网站建设lhwzzz网络服务器机柜
  • 有口碑的武进网站建设国内做房车游网站
  • 山东省城乡住房和城乡建设厅网站济南网站建设wuliankj
  • 网站首页跳出弹窗wordpress远程后台设置
  • 免费信息网站建设平台影响网站排名的因素 权重
  • 做房产网站接不到电话湖北网站建设平台
  • 厦门国外网站建设公司排名上海自贸区注册公司优惠政策
  • 网站建设的公司实习做什么成都住建局官网住建智慧建管
  • 建一个免费看电影的网站犯法不国家企业信用信息没有网站怎么做
  • 长春网站vantage wordpress
  • 帝国cms如何做网站地图自己做的网站还要买域名么