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

建筑课程网站网站策划案怎么做

建筑课程网站,网站策划案怎么做,电脑培训班速成班,可以看任何东西的浏览器网络库介绍 XiaoFeng.Net网络库包含了 SocketServer,SocketClient,WebSocketServer,WebSocketClient四个类库 SocketServer 网络服务端同时支持Socket客户端连接#xff0c;WebSocket客户端#xff0c;浏览器WebSocket连接 SocketCleint 网络客户端 WebSocketServer WebSock…网络库介绍 XiaoFeng.Net网络库包含了 SocketServer,SocketClient,WebSocketServer,WebSocketClient四个类库 SocketServer 网络服务端同时支持Socket客户端连接WebSocket客户端浏览器WebSocket连接 SocketCleint 网络客户端 WebSocketServer WebSocket服务端仅支持WebSocket客户端连接或浏览器WebSocket连接 WebSocketClient WebSocket客户端 SocketServer 服务端 WebSocketServer 除了实例化参数不一样其它属性和SocketServer是一样的因为WebSocketServer就是继承了SocketServer var c new SocketServer(8011);//SSL证书 c.Certificate new X509Certificate2(E:\\d.pfx, 7092734, X509KeyStorageFlags.MachineKeySet); c.SslProtocols System.Security.Authentication.SslProtocols.Tls12; //是否启动定时向客户端发送pong功能 c.IsPong false; c.PongTime 30; c.OnStart (o, e) {//项目启动后触发当前事件w(项目启动.); }; c.OnAuthentication (c, m, e) {//认证事件//对应Authentication认证委托认证失败后会触发当前事件 }; c.Authentication c {//认证方法//在这里判断客户端是否是我们合法的客户端请求连接 return false 表示拒绝连接请求 return true 表示接受连接请求return true; }; c.OnStop (c, e) {//项目停止后触发的事件w(项目停止.); }; //下边OnMessage,OnMessageByte两个事件在实际工作中根据自己的需求用其中一个事件即可 c.OnMessage (c, m, e) {//接收到消息后触发当前事件w($接收到消息[{c.EndPoint}](text):{m});//向当前客户端发送接收到的消息c.Send(m); }; c.OnMessageByte (c, m, e) {//接收到消息后触发当前事件w($接收到消息[{c.EndPoint}](bytes):{m.GetString()});//向当前客户端发送接收到的消息c.Send(m); }; c.OnError (c, e) {//服务端出错触发当前事件w(出错: e.Message); }; c.OnNewConnection (c, e) {//有新的客户端连接请求触发当前事件w($新连接[{c.EndPoint}]); }; c.OnDisconnected (c, e) {//客户端断开连接后触发当前事件w($断开连接[{c.EndPoint}]); }; c.OnClientError (c,ip, e) {//处理客户端出错时触发当前事件w($客户端出错[{c.EndPoint}]:{e.Message}); }; //启动 c.Start();//其它方法及属性 //当前连接的客户端 var clients c.Clients;//添加黑名单 添加进黑名单的IP 通过这个IP的客户端都拒绝连接服务端 c.AddBlack(192.138.1.2); //移除黑名单 c.RemoveBlack(192.168.1.2);Console.WriteLine();SocketClient 客户端 WebSocketClient也是继承于SocketClient 所以它的属性和SocketClient也是一样的。 下边直接上代码 var ws new SocketClient(127.0.0.1, 8011); //是否启动定时ping功能 ws.IsPing false; ws.PingTime 30;ws.OnMessage (c, m, e) {w(接收到消息(text): m); }; ws.OnMessageByte (c, m, e) {w(接收到消息(bytes): m.GetString()); }; ws.OnClientError (c,ip, e) {w(出错: e.Message); }; ws.OnStart async (c, e) {w(已启动);//await ws.SendAsync(消息).ConfigureAwait(false); }; ws.OnStop (c, e) {w(已停止); }; ws.Start(); Console.ReadLine();WebSocketClient还有一个单独的属性WebSocketRequestOptions 它是一个请示配置类看它的完整代码 /// summary /// WebSocketClient请求配置 /// /summary public class WebSocketRequestOptions {#region 构造器/// summary/// 无参构造器/// /summarypublic WebSocketRequestOptions(){this.WebHeader new WebHeaderCollection();this[HttpRequestHeader.Connection] Upgrade;this[HttpRequestHeader.Pragma] no-cache;this[Sec-WebSocket-Extensions] permessage-deflate; client_max_window_bits;this[Sec-WebSocket-Version] 13;this[HttpRequestHeader.Upgrade] websocket;this[HttpRequestHeader.UserAgent] Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36;this[HttpRequestHeader.AcceptEncoding] (AcceptEncodingType.GZIP | AcceptEncodingType.DEFLATE | AcceptEncodingType.BR).ToLower();this[HttpRequestHeader.CacheControl] no-cache;this[HttpRequestHeader.AcceptLanguage] zh-CN,zh;q0.9;}#endregion#region 属性/// summary/// 获取请求头值/// /summary/// param nameheader头key see crefHttpRequestHeader//param/// returns请求头值/returnspublic String this[HttpRequestHeader header]{get this.Get(header);set this.Set(header, value);}/// summary/// 获取请求头值/// /summary/// param nameheader头key see crefHttpResponseHeader//param/// returns请求头值/returnspublic String this[HttpResponseHeader header]{get this.Get(header);set this.Set(header, value);}/// summary/// 获取请求头值/// /summary/// param namekeykey/param/// returns请求头值/returnspublic String this[String key]{get this.Get(key);set this.Set(key, value);}/// summary/// 请求地址/// /summaryprivate Uri _Uri;/// summary/// 请求地址 see crefSystem.Uri//// /summarypublic Uri Uri{get this._Uri; set{this._Uri value;this[HttpRequestHeader.Host] value.Host : value.Port;}}/// summary/// 请求类型 see crefXiaoFeng.Http.HttpMethod/ 或 see crefSystem.Net.Http.HttpMethod//// /summarypublic HttpMethod Method { get; set; } HttpMethod.Get;/// summary/// Http协议版本 1.0,1.1,2.0,3.0/// /summarypublic HttpVersionX HttpVersion { get; set; } HttpVersionX.Version11;/// summary/// Host 标头指定要请求的资源的主机名和端口号。/// /summarypublic String Host this[HttpRequestHeader.Host];/// summary/// Connection 标头指定特定连接所需的选项。指定客户端和服务器之间的连接类型如 keep-alive、close 等。/// /summarypublic String Connection this[HttpRequestHeader.Connection];/// summary/// Pragma 标头指定特定于实现的指令这些指令可应用到请求/响应链上的任意代理。用来包含实现特定的指令。/// /summarypublic String Pragma this[HttpRequestHeader.Pragma];/// summary/// 源头/// /summarypublic String Origin{get this[Origin];set this[Origin] value;}/// summary/// 客户端支持的扩展列表/// /summarypublic String SecWebSocketExtensions{get this[Sec-WebSocket-Extensions];set this[Sec-WebSocket-Extensions] value;}/// summary/// 请求标识key/// /summarypublic String SecWebSocketKey{get this[Sec-WebSocket-Key];set this[Sec-WebSocket-Key] value;}/// summary/// WebSocket版本/// /summarypublic String SecWebSocketVersion this[Sec-WebSocket-Version];/// summary/// Upgrade 标头指定客户端支持的其他通信协议。向服务器指定某种传输协议以便服务器进行转换。/// /summarypublic String Upgrade this[HttpRequestHeader.Upgrade];/// summary/// User-Agent 标头指定有关客户端代理的信息。标识浏览器的详细信息包括名称、版本、操作系统等。/// /summarypublic String UserAgent{get this[HttpRequestHeader.UserAgent];set this[HttpRequestHeader.UserAgent] value;}/// summary/// Accept-Charset 标头指定响应可接受的内容编码。指定客户端可以接受的压缩编码类型/// /summarypublic AcceptEncodingType AcceptEncoding{get this[HttpRequestHeader.AcceptEncoding].ToUpper().ToCastAcceptEncodingType();set this[HttpRequestHeader.AcceptEncoding] value.ToLower();}/// summary/// Cache-Control 标头指定请求/响应链上所有缓存控制机制必须服从的指令。如 no-cache、max-age 等。/// /summarypublic String CacheControl this[HttpRequestHeader.CacheControl];/// summary/// Accept-Langauge 标头指定用于响应的首选自然语言。。/// /summarypublic String AcceptLanguage{get this[HttpRequestHeader.AcceptLanguage];set this[HttpRequestHeader.AcceptLanguage] value;}/// summary/// Referer 标头指定可从中获取请求 URI 的资源 URI。/// /summarypublic String Referer{get this[HttpRequestHeader.Referer];set this[HttpRequestHeader.Referer] value;}/// summary/// From 标头指定控制请求的用户代理的用户的 Internet 电子邮件地址。/// /summarypublic String From{get this[HttpRequestHeader.From];set this[HttpRequestHeader.From] value;}/// summary/// Authorization 标头指定客户端提供的以向服务器验证自身身份的凭据。 凭证是 (用户名:密码)的base64/// /summary/// remarks/// para假设用户名为jacky密码为eelf.cn则代码就是/// codeConvert.ToBase64String(Encoding.UTF8.GetBytes(jacky:eelf.cn))/code/// /para/// code/// 则上面的帐号密码输出为以下/// /// Authorization: Basic amFja3k6ZWVsZi5jbg/// /code/// /remarkspublic String Authorization{get this[HttpRequestHeader.Authorization];set this[HttpRequestHeader.Authorization] value;}/// summary/// Proxy-Authorization 标头指定客户端提供的以向代理验证自身身份的凭据。/// /summary/// remarks/// 设置参照 see crefAuthorization/ 属性设置/// /remarkspublic String ProxyAuthorization{get this[HttpRequestHeader.ProxyAuthorization];set this[HttpRequestHeader.ProxyAuthorization] value;}/// summary/// Cookie 标头指定向服务器提供的 cookie 数据。/// /summarypublic String Cookie{get this[HttpRequestHeader.Cookie];set this[HttpRequestHeader.Cookie] value;}/// summary/// Content-Encoding 标头指定应用到随附的正文数据的编码。/// /summarypublic String ContentEncoding{get this[HttpRequestHeader.ContentEncoding];set this[HttpRequestHeader.ContentEncoding] value;}/// summary/// Content-Language 标头指定随附的正文数据的自然语言。/// /summarypublic String ContentLangauge{get this[HttpRequestHeader.ContentLanguage];set this[HttpRequestHeader.ContentLanguage] value;}/// summary/// Content-MD5 标头指定随附的正文数据的 MD5 摘要以便提供端到端消息完整性检查。 由于 MD5 出现冲突问题Microsoft 建议使用基于SHA256 或更高版本的安全模型。/// /summarypublic String ContentMd5{get this[HttpRequestHeader.ContentMd5];set this[HttpRequestHeader.ContentMd5] value;}/// summary/// 自定义协议标头。/// /summaryprivate WebHeaderCollection WebHeader { get; set; }#endregion#region 方法/// summary/// 设置协议标头信息/// /summary/// param namekey协议标头key/param/// param namevalue协议标头value/parampublic void Set(string key, string value){if (key.IsNullOrEmpty()) return;if (this.WebHeader null) this.WebHeader new WebHeaderCollection();this.WebHeader.Set(key, value);}/// summary/// 设置协议标头信息/// /summary/// param nameheader协议标头key see crefHttpRequestHeader//param/// param namevalue协议标头value/parampublic void Set(HttpRequestHeader header, string value){if (this.WebHeader null) this.WebHeader new WebHeaderCollection();this.WebHeader.Set(header, value);}/// summary/// 设置协议标头信息/// /summary/// param nameheader协议标头 key see crefHttpResponseHeader//param/// param namevalue协议标头 value/parampublic void Set(HttpResponseHeader header, string value){if (this.WebHeader null) this.WebHeader new WebHeaderCollection();this.WebHeader.Set(header, value);}/// summary/// 添加协议标头信息/// /summary/// param namekey协议标头 key/param/// param namevalue协议标头 value/parampublic void Add(string key, string value){if (key.IsNullOrEmpty()) return;if (this.WebHeader null) this.WebHeader new WebHeaderCollection();this.WebHeader.Add(key, value);}/// summary/// 添加协议标头信息/// /summary/// param nameheader协议标头 key see crefHttpRequestHeader//param/// param namevalue协议标头 value/parampublic void Add(HttpRequestHeader header, string value){if (this.WebHeader null) this.WebHeader new WebHeaderCollection();this.WebHeader.Add(header, value);}/// summary/// 添加协议标头信息/// /summary/// param nameheader协议标头 key see crefHttpResponseHeader//param/// param namevalue协议标头 value/parampublic void Add(HttpResponseHeader header, string value){if (this.WebHeader null) this.WebHeader new WebHeaderCollection();this.WebHeader.Add(header, value);}/// summary/// 获取协议标头数据/// /summary/// param nameheader协议标头 key see crefHttpRequestHeader//param/// returns协议标头值/returnspublic string Get(HttpRequestHeader header){if (this.WebHeader null) return String.Empty;return this.WebHeader[header];}/// summary/// 获取协议标头数据/// /summary/// param namekey协议标头 key/param/// returns协议标头值/returnspublic string Get(string key){if (this.WebHeader null) return String.Empty;return this.WebHeader[key];}/// summary/// 获取响应协议标头数据/// /summary/// param nameheader响应协议标头key see crefHttpResponseHeader//param/// returns响应协议标头数据/returnspublic string Get(HttpResponseHeader header){if (this.WebHeader null) return String.Empty;return this.WebHeader[header];}/// summary/// 转成协议标头字符串/// /summary/// returns合并协议标头字符串/returnspublic override string ToString(){var sbr new StringBuilder();sbr.AppendLine(${this.Method} {this.Uri?.PathAndQuery} HTTP/{((float)this.HttpVersion) / 10F});sbr.Append(this.WebHeader.ToString());return sbr.ToString();}#endregion }从上边的代码可以看出来所有http请求的头基本上都有如果自定义的头信息怎么办那么就用当前配置的Add方法来添加。 开源地址XiaoFeng 如果喜欢可以给作者点个星哦
文章转载自:
http://www.morning.hjlsll.com.gov.cn.hjlsll.com
http://www.morning.npbnc.cn.gov.cn.npbnc.cn
http://www.morning.tktyh.cn.gov.cn.tktyh.cn
http://www.morning.nqmwk.cn.gov.cn.nqmwk.cn
http://www.morning.fpzz1.cn.gov.cn.fpzz1.cn
http://www.morning.dgng.cn.gov.cn.dgng.cn
http://www.morning.swzpx.cn.gov.cn.swzpx.cn
http://www.morning.dlwzm.cn.gov.cn.dlwzm.cn
http://www.morning.fksrg.cn.gov.cn.fksrg.cn
http://www.morning.gjlxn.cn.gov.cn.gjlxn.cn
http://www.morning.npgwb.cn.gov.cn.npgwb.cn
http://www.morning.mpwgs.cn.gov.cn.mpwgs.cn
http://www.morning.rfycj.cn.gov.cn.rfycj.cn
http://www.morning.jrhmh.cn.gov.cn.jrhmh.cn
http://www.morning.zcyxq.cn.gov.cn.zcyxq.cn
http://www.morning.zdhxm.com.gov.cn.zdhxm.com
http://www.morning.cspwj.cn.gov.cn.cspwj.cn
http://www.morning.gwwtm.cn.gov.cn.gwwtm.cn
http://www.morning.yrrnx.cn.gov.cn.yrrnx.cn
http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn
http://www.morning.qnkqk.cn.gov.cn.qnkqk.cn
http://www.morning.rfwqt.cn.gov.cn.rfwqt.cn
http://www.morning.tlfyb.cn.gov.cn.tlfyb.cn
http://www.morning.qgqck.cn.gov.cn.qgqck.cn
http://www.morning.lgkbn.cn.gov.cn.lgkbn.cn
http://www.morning.symgk.cn.gov.cn.symgk.cn
http://www.morning.wfjrl.cn.gov.cn.wfjrl.cn
http://www.morning.qfzjn.cn.gov.cn.qfzjn.cn
http://www.morning.rlkgc.cn.gov.cn.rlkgc.cn
http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn
http://www.morning.qcygd.cn.gov.cn.qcygd.cn
http://www.morning.kfldw.cn.gov.cn.kfldw.cn
http://www.morning.lffrh.cn.gov.cn.lffrh.cn
http://www.morning.rynqh.cn.gov.cn.rynqh.cn
http://www.morning.jfcbs.cn.gov.cn.jfcbs.cn
http://www.morning.tfsyk.cn.gov.cn.tfsyk.cn
http://www.morning.qjxkx.cn.gov.cn.qjxkx.cn
http://www.morning.rqwmt.cn.gov.cn.rqwmt.cn
http://www.morning.bqdgr.cn.gov.cn.bqdgr.cn
http://www.morning.bpmdx.cn.gov.cn.bpmdx.cn
http://www.morning.jrplk.cn.gov.cn.jrplk.cn
http://www.morning.gqjzp.cn.gov.cn.gqjzp.cn
http://www.morning.czxrg.cn.gov.cn.czxrg.cn
http://www.morning.wbqk.cn.gov.cn.wbqk.cn
http://www.morning.xqltq.cn.gov.cn.xqltq.cn
http://www.morning.msxhb.cn.gov.cn.msxhb.cn
http://www.morning.jtjmz.cn.gov.cn.jtjmz.cn
http://www.morning.cwyrp.cn.gov.cn.cwyrp.cn
http://www.morning.fhyhr.cn.gov.cn.fhyhr.cn
http://www.morning.zkrzb.cn.gov.cn.zkrzb.cn
http://www.morning.jnbsx.cn.gov.cn.jnbsx.cn
http://www.morning.fksxs.cn.gov.cn.fksxs.cn
http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn
http://www.morning.rkck.cn.gov.cn.rkck.cn
http://www.morning.qkqjz.cn.gov.cn.qkqjz.cn
http://www.morning.lksgz.cn.gov.cn.lksgz.cn
http://www.morning.fqmbt.cn.gov.cn.fqmbt.cn
http://www.morning.mkfr.cn.gov.cn.mkfr.cn
http://www.morning.bnjnp.cn.gov.cn.bnjnp.cn
http://www.morning.tlfzp.cn.gov.cn.tlfzp.cn
http://www.morning.hqzmz.cn.gov.cn.hqzmz.cn
http://www.morning.gbsfs.com.gov.cn.gbsfs.com
http://www.morning.glbnc.cn.gov.cn.glbnc.cn
http://www.morning.znsyn.cn.gov.cn.znsyn.cn
http://www.morning.gthgf.cn.gov.cn.gthgf.cn
http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn
http://www.morning.bwmm.cn.gov.cn.bwmm.cn
http://www.morning.sypzg.cn.gov.cn.sypzg.cn
http://www.morning.ypwlb.cn.gov.cn.ypwlb.cn
http://www.morning.dwmtk.cn.gov.cn.dwmtk.cn
http://www.morning.jfsbs.cn.gov.cn.jfsbs.cn
http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn
http://www.morning.kzslk.cn.gov.cn.kzslk.cn
http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn
http://www.morning.yckwt.cn.gov.cn.yckwt.cn
http://www.morning.cnlmp.cn.gov.cn.cnlmp.cn
http://www.morning.simpliq.cn.gov.cn.simpliq.cn
http://www.morning.lxthr.cn.gov.cn.lxthr.cn
http://www.morning.jkftn.cn.gov.cn.jkftn.cn
http://www.morning.stlgg.cn.gov.cn.stlgg.cn
http://www.tj-hxxt.cn/news/223168.html

相关文章:

  • 学子网站建设wordpress 图片 优化
  • 罗湖网站制作费用外贸网站要怎么做
  • wordpress网站底部版权代码如何创建一个站点
  • 上海seo网站设计做暧暖ox免费视频网站
  • 西安志成网站建设公司网站重大建设项目公开发布制度
  • c 网站开发怎么弹出输入框软件外包
  • 网站制作公司 恶意中国建设银行 英文网站
  • apache 本地网站网站必做外链
  • 沈阳网站建设方案策划装修平台哪家好
  • 万网云服务器怎么上传网站吗无锡新吴区建设局网站
  • 怎么才能访问自己做的网站深圳建设网站联系电话
  • 太仓市建设招标网站免费制作logo的网站
  • psd数据网站做网站不如做公众号
  • 南通市规划建设局网站seminar怎么读
  • 帮做非法网站怎么做万网网站吗
  • 怎么做网站的搜索引擎东莞网站制作
  • 石家庄网站设计建设wordpress 输出 文本
  • 整站优化哪家专业网站建网站建设专业
  • 网站建设书模板网站备案和实际的不同
  • 大良建站公司行业现状网页制作素材免费网站
  • 在线做网站图标重庆建设工程施工安全管理网
  • 网站的站外优化深圳大型网站建设公司
  • ps网站建设教程商务网站建设论文总结
  • 做海外生意的网站如何把乱码变成数字
  • wordpress qq 群太原企业网站seo
  • 做公司网站的流程网站开发运营职位
  • 建设快照网站意大利天天电信app下载
  • 山东网站建设空间新品上市新闻稿
  • 社交网站是怎么做的wordpress的页脚模板修改就出错
  • 做一个卖车的网站该怎么做有人有片视频吗免费的下载