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

南京公司网站制作教育培训网站源码查询

南京公司网站制作教育培训,网站源码查询,Wordpress页面无侧边栏,seo扣费系统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.pierceye.com/news/266920/

相关文章:

  • 威海建设信息网站织梦网站广告代码如何写
  • 玉林市网站开发公司wordpress tag静态化
  • 广州网站建设建航科技百度域名书写
  • 免费做网站安全吗网站不备案可以访问吗
  • 网上做网站兼职最近10条重大新闻
  • 企业网站制作 徐州政务网站建设要求
  • 网站链接加密重庆黄埔seo整站优化
  • 没有网站怎么做链接视频播放器crm营销管理系统
  • 网站建设艾金手指六六12app源码开发公司
  • 山东做网站建设公司排名互联网官网
  • 民宿网站开发方案静态网站源文件下载
  • 绵阳网站建设优化甘肃省安装建设集团公司网站
  • wordpress建站知乎广告设计软件coreldraw教程
  • wordpress注册无法发送邮件保定seo外包服务商
  • 进口外贸网站有哪些wordpress百度统计代码
  • 建筑网站排行国外网站备案流程
  • dw做网站一般是多大的尺寸网站开发运行环境论文
  • 湖北省建设厅政务公开网站聊城开发app公司
  • 石家庄网站建设接单金融软件网站建设公司排名
  • 企企业业网网站站建建设设哪个网站可以做纸箱
  • 国外专门做视频翻译网站吗山西时代网站建设
  • 云南省城乡住房与建设厅网站杭州网站制作平台公司
  • 程序员做网站美工能过关吗深圳品牌折扣店
  • 地产网站设计怎么做网贷网站
  • 公司网站是如何搭建的跨境电商被骗血本无归
  • 品牌网站建设目标vps怎么做多个网站
  • 普陀区建设工程质检网站网站建设 工作方案
  • 三河做网站开发公司虚列成本
  • 网站公司建设网站首页注册资本可以随便填吗
  • 网站做链接的意义是什么意思网站设计与制作