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

欧莱雅官方网站的建设珍岛网站模板

欧莱雅官方网站的建设,珍岛网站模板,51社社播放器,建筑设计公司招聘信息socket.d.js 是基于 websocket 包装的 socket.d 协议的实现。就是用 ws 传输数据,但功能更强大。 功能原生 websocketsocket.d说明listen有有监听消息send有有发消息sendAndRequest无有发消息并接收一个响应(类似于 http)sendAndSubscribe无…

socket.d.js 是基于 websocket 包装的 socket.d 协议的实现。就是用 ws 传输数据,但功能更强大。

功能原生 websocketsocket.d说明
listen监听消息
send发消息
sendAndRequest发消息并接收一个响应(类似于 http)
sendAndSubscribe发消息并接收多个响应(也叫订阅)
event(or path)消息有事件或路径(可对消息,进行业务路由)
meta(or header)消息有元信息或头信息(可为数据,标注业务语义)
自动心跳
断开后自动重链

下面感受下开发方面的差异!

1、客户端示例代码

使用时,可以根据自己的业务对原生接口包装,进一步简化使用。

<script src="js/socket.d.js"></script>
<script>
async function init(){//构建事件监听const eventListener = await SocketD.newEventListener().doOnMessage((s,m)=>{//监听所有消息(可能不需要)}).doOn("/im/user.upline", (s,m)=>{ //事件的应用//监听用户上线let user_id = m.meta("user_id");}).doOn("/im/user.downline", (s,m)=>{//监听用户下线let user_id = m.meta("user_id"); //元信息的应用});//创建单例window.clientSession = SocketD.createClient("sd:ws://127.0.0.1:8602/?u=a&p=2").listen(eventListener).open();
}function join(){clientSession.sendAndRequest("/user/join", SocketD.newEntity()).thenReply(r->{//加入成功});
}init();
</script>

Socket.D 有三个发消息的接口:

接口说明
send像 websocket。多了事件与元信息属性
sendAndRequest像 http
sendAndSubscribe像 reactive stream 。多了事件与元信息属性

2、服务端示例代码(用 java 演示)

public class Demo {public static void main(String[] args) throws Throwable {List<Session> userSessions = new ArrayList<Session>();//创建监听器Listener listener = new EventListener().doOnOpen(s->{//鉴权if("a".equals(s.param("u")) == false){s.close();}else{//加入用户表s.attrPut("user_id", s.param("u"));userSessions.add(s);}}).doOn("/user/join", (s,m)->{if(m.isRequest()){s.reply(m, new StringEntity());}for(Session s1: userSessions){//告诉所有用户,有人上线s1.send("/im/user.upline", new StringEntity().metaPut("user_id"), s.attr("userId"));}});//启动服务SocketD.createServer("sd:ws").config(c -> c.port(8602)).listen(listener).start();}
}

3、Socket.D 是什么东东?

Socket.D 是一个基于“事件”和“语义消息”“流”的网络应用层协议(听起来好像很 ao 口)。支持 tcp, udp, ws, kcp 传输(有各种不同语言的实现)。有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”。

协议之所有强大,有三个关键基础因素:

  • 事件
  • 语义消息

它的帧码结构:

[len:int][flag:int][sid:str(<64)][\n][event:str(<512)][\n][metaString:str(<4k)][\n][data:byte(<16m)]

因为是应用层协议,所以可以建立在任意传输层协议之上。比如 websocket。

4、开源仓库

  • github: https://github.com/noear/socket.d
  • gitee: https://gitee.com/noear/socket.d
http://www.yayakq.cn/news/186168/

相关文章:

  • 制作一个网站需要哪些人为什么没人做物流网站
  • 广州网站设计成功柚米科技网站大气模板
  • 网站抓取优化网站建设费属于什么税目
  • 怎么做网盘网站杭州雄飞网站建设网络公司
  • 网站搭建周期资源搜索神器
  • 网页设计公司主要业务赣州seo顾问
  • 网站360做的标记如何取消如何选择番禺网站建设
  • 外贸网站有哪些中国排名前十的建筑公司
  • 建立自己的网站平台百度网站公司信息推广怎么做的
  • 雁塔区住房和城乡建设局网站品牌网站运营
  • pc网站建设怎么做网站模板 div
  • 微信生活门户网站源码flash as3 网站模板
  • 网站资质证书1668阿里巴巴官网
  • 房产网站定制房产中介
  • 佛山做网站的公司哪家好网易企业邮箱费用
  • 网站开发主要内容和要求网站开发是什么
  • 山东网站制作推荐2017 WordPress 主题
  • 青岛公司注册网站网站建设开发哪家好
  • 做网站招标公众号制作135
  • 工商网站如何提高网站关键词的排名
  • 网站优化是做什么的营销的本质
  • 网站开发及设计演讲海报台州品牌网站建设
  • 网页制作模板的网站element怎么建网站赚钱
  • 网站版式设计说明数商云价格
  • 伍佰亿网站建设查询学校信息的网站
  • 大学生网站开发总结报告建房的网站
  • 网站建设与用户需求分析银川网站建设多少钱
  • 做一家拍卖网站需要什么资质冬奥会网页设计素材
  • 网站建设倒计时单页源码南昌专业网站设计
  • 网站备案核验单2017网站建设方案