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

苏州网站推广公司网站建设的栏目策划

苏州网站推广公司,网站建设的栏目策划,我爱我家租房房源信息网,vpn免流网站建设Socket.D 是基于事件和语义消息流的网络应用层传输协议。有用户说#xff0c;“Socket.D 之于 Socket#xff0c;尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。协议特点可参考《官网介绍》。 pyton 已开发完成事件和语义消息流的网络应用层传输协议。有用户说“Socket.D 之于 Socket尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。协议特点可参考《官网介绍》。 pyton 已开发完成再在测试中go, rust, c 正在开发中。 for Java 适配框架更新说明 添加 CLOSE28_OPEN_FAIL 关闭码优化关闭处理调整 SocketD.createXxx 的异常提示带上协议架构信息调整 PathListener::of 更名为 doOf并添加 of 函数应用不同 for JavaScript 适配框架更新说明 完成 for Node.js server 实现!!!添加 Session::remoteAddress,localAddress 方法添加 CLOSE28_OPEN_FAIL 关闭码优化关闭处理调整 SocketD.createXxx 的异常提示带上协议架构信息调整 PathListener::of 更名为 doOf并添加 of 函数应用不同 新增的接口体验for Node.js Server 现在服务端可以用 java 也可以用 node.js很快也可以用 python 了 。for Node.js Server Demo: 包配置 {name: demo,description: socket.d for node.js demo,author: noear,dependencies: {noear/socket.d: 2.3.9,ws: ^8.16.0} }服务端示例代码 const {SocketD} require(noear/socket.d);function main(){let server SocketD.createServer(sd:ws).config(c c.port(8602).fragmentSize(1024 * 1024)).listen(buildListener()).start(); }function buildListener() {return SocketD.newEventListener().doOnOpen(s {console.info(onOpen: s.sessionId());}).doOnMessage((s, m) {console.info(onMessage: m);}).doOn(/demo, (s, m) {if (m.isRequest()) {s.reply(m, SocketD.newEntity(me to!));}if (m.isSubscribe()) {let size m.rangeSize();for (let i 1; i size; i ) {s.reply(m, SocketD.newEntity(me to- i));}s.replyEnd(m, SocketD.newEntity(welcome to my home!));}}).doOn(/upload, (s, m) {if (m.isRequest()) {let fileName m.meta(SocketD.EntityMetas.META_DATA_DISPOSITION_FILENAME);if (fileName) {s.reply(m, SocketD.newEntity(no file! size: m.dataSize()));} else {s.reply(m, SocketD.newEntity(file received: fileName , size: m.dataSize()));}}}).doOn(/download, (s, m) {if (m.isRequest()) {let fileEntity SocketD.newEntity(...);//todo://SocketD.newEntity(fs.readFileSync(/Users/noear/Movies/snack3-rce-poc.mov));s.reply(m, fileEntity);}}).doOn(/push, (s, m) {if (s.attrHas(push)) {return;}s.attrPut(push, 1);for (let i 0; i; i 100) {if (s.attrHas(push) false) {break;}s.send(/push, SocketD.newEntity(push test));//todo:sleep}}).doOn(/unpush, (s, m) {s.attrMap().remove(push);}).doOnClose(s {console.info(onClose: s.sessionId());}).doOnError((s, err) {console.warn(onError: s.sessionId());}); }main();Socket.D.js 客户能力演示 监听相当于 ws 的增强 多了事件路由。可以用一个连接监听不同的业务事件类似于 http path。 //打开客户端会话用 url 形式打开 let session await SocketD.createClient(sd:ws://127.0.0.1:8602/?token1b0VsGusEkddgr3d).listen(SocketD.newEventListener().doOnOpen(s - { //会话打开时//...}).doOnMessage((s, m) - { //收到任意消息时//打印console.info(m);}).doOn(/demo, (s, m) - { //收到/demo事件的消息时if (m.isRequest() || m.isSubscribe()) {//答复s.replyEnd(m, SocketD.newEntity(And you too.));}})).open();发送 和 发送文件并获取进度 发送相对于 ws 多了元信息。可为数据添加额外的业务标注。发送大数据时会自动分片接收端自动聚合 //发送 session.send(/demo/hello, SocketD.newEntity(hi).metaPut(sender,noear));//发送文件且获取发送进度如果有大数据发送又需要显示进度//实际开发要用 sendAndRequest 接口以获取接收确认 session.send(/demo/upload, SocketD.newEntity(file)).thenProgress((isSend, val, max){if(isSend){//获取发送进度console.info(...${val}/${max});} });请求 和 下载文件或大数据块 这个相当于 ws 有了 ajax 的交互方式 //发送并请求有点像 ajax let reply session.sendAndRequest(/demo/hello, SocketD.newEntity()).thenReply(reply{console.info(reply.dataAsString()); });//发送并请求且取接收进度如果有大数据获取又需要显示进度 session.sendAndRequest(/demo/download, SocketD.newEntity()).thenProgress((isSend, val, max){if(!isSend){//获取接收进度console.info(...${val}/${max});} }).thenReply(reply{//reply.data()... }).thenError(err{//如果有出错 });订阅 与 流量控制一般用于流加载 通过 range(start, size) 指定数据范围由 sendAndSubscribe 发起订阅通过 thenReply 多次接收。 //发送并订阅 let entity SocketD.newEntity().range(5,5).metaPut(videoId,1); session.sendAndSubscribe(/demo/stream, entity).thenReply(reply{//异步获取答复会多次回调 })视频演示效果 for H5 https://www.bilibili.com/video/BV1ck4y197BV/演示源码 for UniAPP https://www.bilibili.com/video/BV1T94y1T7sp/演示源码 代码仓库 https://gitee.com/noear/socketdhttps://github.com/noear/socketd 官网 https://socketd.noear.org
http://www.zqtcl.cn/news/260145/

相关文章:

  • 什么网站做推广最好建行网站用户名是什么
  • 网站建设和维护需要学的东西服务器学生
  • 电子工厂网站建设企业管理咨询报告
  • 敖汉旗网站建设网站建设班级通讯录
  • 把手机做网站服务器做网站商丘
  • 婚恋咨询网站运营做速卖通代码的网站
  • 网站建设流程有哪七步c语言做的网站有什么优缺点
  • 树在线网页制作网站邢台中北世纪城网站兼职
  • 备案网站建设方案模板怎么看网站域名
  • asp iis设置网站路径效果好网站建设哪家好
  • 河南做外贸网站的公司大连在哪个省的什么位置
  • 网站架构怎么做wordpress e-commerce themes
  • 哪些网站微信支付平台经营管理系统
  • 教育教学成果展示网站建设桂林网站开发公司
  • 唐山房产网站建设asp.net 网站压缩
  • 卫浴网站设计大型网站建设的必须条件
  • 肇庆制作企业网站seo网站建设课程
  • 没有公司自己做网站wordpress lms插件
  • 申请一个网站需要怎么做北京网络公司信息
  • 珠海市建设局网站分销系统价格多少
  • 杭州建网站企业seo营销工具
  • php旅游类网站开发wordpress 文章内
  • 企业管理外贸企业网站优化
  • 免费图纸网东莞百度快照优化排名
  • 南宁网站建设培训学校青海网站建设加q5299丶14602做词
  • 鱼台做网站多少钱wordpress pot
  • 招聘网站建设维护人员怎样自己开发一款软件
  • 上海网站制作怎么选泰安网红人物
  • 企业网站建设义乌南靖网站建设
  • 抖音电商网站建设如何制作app推广