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

天津市建行网站易站通这个网站怎么做

天津市建行网站,易站通这个网站怎么做,wordpress收录,静态网页制作源代码兄弟们#xff0c;我来填坑了#xff0c;o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o#xff0c;前几天写了个tcp模拟websocket客户端的以为完成#xff0c;后面需要发送消息给服务端#xff0c;以为简单不就是一个发送消息么#xff0c;这不是一…兄弟们我来填坑了o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o前几天写了个tcp模拟websocket客户端的以为完成后面需要发送消息给服务端以为简单不就是一个发送消息么这不是一下的事情诺 sslStrem.Write(bt,0,bt.length);这不就是么结果结果啪啪啪打脸脸都要肿了o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o。 错误信息“xeaThe client frame was not masked but all client frames must be masked” 后面查找资料发现需要按照websocket协议来发送websocket结构体的消息帧。 如下图 WebSocket 消息帧结构 FIN1位: 表示是否是最后一帧。     RSV1, RSV2, RSV3各1位: 保留位通常为 0。     Opcode4位: 帧的类型例如文本帧、二进制帧、关闭帧等。     Mask1位: 表示负载是否被掩码。     Payload length7/716/764位: 表示负载数据的长度。     Masking key32位: 如果 Mask 为 1则存在掩码键。     Payload data: 实际传输的数据。 找了一大堆资料结果还是没成功一想到有开源的websocket开源代码里面肯定是有发送消息的方法。得按照这个思路在websocket-sharp开源里找到了然后在里面看啊看游啊游头都要大了最后还是仿写了一套相对简单的后面一试成功了不容易啊。 代码如下 public void Send2(string data){byte[] bytes Encoding.UTF8.GetBytes(data);Stream sourceStream new MemoryStream(bytes);try{var len sourceStream.Length;if (len 0){bool sent3 send2(0x1, 0x1, new byte[0], false);return;}var quo len / 1016;var rem (int)(len % 1016);byte[] buff null;if (quo 0){buff new byte[rem];bool sent2 sourceStream.Read(buff, 0, rem) rem send2(0x1, 0x1, buff, false);return;}if (quo 1 rem 0){buff new byte[1016];bool sent2 sourceStream.Read(buff, 0, 1016) 1016 send2(0x1, 0x1, buff, false);return;}/* Send fragments */// Beginbuff new byte[1016];var sent sourceStream.Read(buff, 0, 1016) 1016 send2(0x0, 0x1, buff, false);if (!sent)return;// Continuevar n rem 0 ? quo - 2 : quo - 1;for (long i 0; i n; i){sent sourceStream.Read(buff, 0, 1016) 1016 send2(0x0, 0x0, buff, false);if (!sent)return;}// Endif (rem 0)rem 1016;elsebuff new byte[rem];sent sourceStream.Read(buff, 0, rem) rem send2(0x1, 0x0, buff, false);return;}catch{}finally{sourceStream.Dispose();}}private bool send2(byte fin, byte opcode, byte[] data, bool compressed){byte _payloadLength;byte _rsv1;byte _rsv2;byte _rsv3;byte[] _extPayloadLength;byte[] _maskingKey;byte _mask;//PayloadData _payloadData new PayloadData(data);_rsv1 compressed ? (byte)0x1 : (byte)0x0;_rsv2 0x0;_rsv3 0x0;var len data.Length;if (len 126){_payloadLength (byte)len;_extPayloadLength new byte[0];}else if (len 0x010000){_payloadLength (byte)126;var ret BitConverter.GetBytes((ushort)len);Array.Reverse(ret);_extPayloadLength ret;//_extPayloadLength ((ushort)len).ToByteArray(ByteOrder.Big);}else{_payloadLength (byte)127;var ret BitConverter.GetBytes((ulong)len);Array.Reverse(ret);_extPayloadLength ret;//_extPayloadLength ((ulong)len).ToByteArray(ByteOrder.Big);}if (true){_mask 0x1;var key new byte[4];RNGCryptoServiceProvider RandomNumber new RNGCryptoServiceProvider();RandomNumber.GetBytes(key);_maskingKey key;for (long i 0; i data.Length; i){data[i] (byte)(data[i] ^ key[i % 4]);}}using (var buff new MemoryStream()){var header (int)fin;header (header 1) (int)_rsv1;header (header 1) (int)_rsv2;header (header 1) (int)_rsv3;header (header 4) (int)opcode;header (header 1) (int)_mask;header (header 7) (int)_payloadLength;var uint16Header (ushort)header;var ret BitConverter.GetBytes(uint16Header);Array.Reverse(ret);var rawHeader ret;buff.Write(rawHeader, 0, 2);if (_payloadLength 126)buff.Write(_extPayloadLength, 0, _extPayloadLength.Length);if (_mask 0x1)buff.Write(_maskingKey, 0, 4);if (_payloadLength 0){var bytes data;if (_payloadLength 126){using (var src new MemoryStream(bytes))src.CopyTo(buff, 1024);}elsebuff.Write(bytes, 0, bytes.Length);}buff.Close();var rawFrame buff.ToArray();try{sslStream.Write(rawFrame, 0, rawFrame.Length);}catch{return false;}return true;}} https://download.csdn.net/download/qq_35319925/90187478https://download.csdn.net/download/qq_35319925/90187478 上面提供了代码链接下载地址。获取电脑本地的音频设备并实时传输音频数据到后台。这个demo是可以跑通的。方便大家使用
http://www.yayakq.cn/news/1853/

相关文章:

  • 购买建立网站费怎么做会计凭证网站怎么优化自己免费
  • 网站开发技术分析宁波seo搜索排名优化
  • 套模板网站价格东莞建设银行
  • 周口建设公司网站最近的新闻头条
  • 景点网站开发积极意义php个人网站
  • 贸易型企业网站建设个人养老保险计算器
  • 多商家网站建设网站长期建设 运营计划
  • 网站上传根目录浙江建设信息港怎么查询
  • 聊城做网站的公司流程顺德定制网站设计
  • 公司建设网站的报告wordpress 打开满
  • 中国建设银行招聘官网站神马网站快速排名软件
  • html5导航网站源码下载企业宣传册模板百度云
  • 网站地址和网页地址网站宣传策略
  • 网站建设的关键事项用python做的电商网站
  • 如何做品牌推广网站工商注册核名查询系统官网
  • 公司网站企业文化怎么做谷歌手机网页版入口
  • 苏州制作手机网站青岛网站搭建公司哪家好
  • 永嘉高端网站建设价格怎么建设银行网站打不开
  • 友情链接互换网站苏州产品推广公司
  • 一个域名可以做多少个二级网站WordPress注册无需发送邮件
  • 免费行情软件网站mnw网站建设和连接器区公司名字
  • 网站建设的发展目标asp.net 3.5网站开发实例教程
  • 网站logo设计标准网站备案 主办单位
  • 兖州网站开发顺义顺德网站建设
  • 制作网站支付方式华为虚拟主机
  • 手机模板网站建站报价表
  • 网站建设1993seowordpress 发短信
  • 怎么创建私人网站wordpress 火车采集
  • 如何制作自己的网站模版微信搜一搜seo优化
  • 备案网站大全泉州seo托管