首页 > 其他分享 >Socket.D 网络应用协议,首版发布!

Socket.D 网络应用协议,首版发布!

时间:2023-12-06 19:12:55浏览次数:31  
标签:异步 udp Socket 网络应用 首版 noear tcp ws

有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”

主要特性

  • 基于事件,每个消息都可事件路由
  • 所谓语义,通过元信息进行语义描述
  • 流关联性,有相关的消息会串成一个流
  • 语言无关,使用二进制输传数据(支持 tcp, ws, udp)。支持多语言、多平台
  • 断线重连,自动连接恢复
  • 多路复用,一个连接便可允许多个请求和响应消息同时运行
  • 双向通讯,单链接双向互听互发
  • 自动分片,数据超出 16Mb,会自动分片、自动重组(udp 除外)
  • 接口简单,是响应式但用回调接口

与其它协议的简单对比

对比项目 socket.d http websocket rsocket socket.io
发消息(Qos0)
发送并请求(Qos1)
发送并订阅
答复或响应
单连接双向通讯 有(不便) 有(不便)
数据分片 /
断线自动重连 /
有元信息
有事件(或路径)
有流(或消息关联性)
Broker 模式集群
异步 异步 同步 异步 异步 异步
接口体验 经典 经典 经典 响应式(复杂) 经典
基础传输协议 tcp, udp, ws tcp http tcp, udp, ws ws

简单的协议说明(详见:官网)

  • 连接地址风格
sd:tcp://19.10.2.3:9812/path?u=noear&t=1234
sd:udp://19.10.2.3:9812/path?u=noear&t=1234
sd:ws://19.10.2.3:1023/path?u=noear&t=1234
  • 帧码结构
//udp only <2k
[len:int][flag:int][sid:str(<64)][\n][event:str(<512)][\n][metaString:str(<4k)][\n][data:byte(<16m)]

代码仓库

标签:异步,udp,Socket,网络应用,首版,noear,tcp,ws
From: https://www.cnblogs.com/noear/p/17880306.html

相关文章

  • 5.Websocket实现消息推送
    项目需要一个在线协同办公功能来进行消息实时推送,我采用SpringBoot结合Websocket来实现该功能。Websocket采用全双工通信方式,可以在客户端和服务端之间建立持久的连接,实现实时的双向通信。相对于传统的HTTP请求,WebSocket具有以下优势:实时性:Websocket提供实时的双向通信能力......
  • websocket简单使用
    <template></template><script>importbusfrom'@/utils/bus'importconfigfrom'@/config/constantconfig';exportdefault{components:{},data(){return{socket:null,isDestroyed:false,......
  • Socket通信工具类
    Socket通信工具类TCP客户端publicclassTCPClientUtil{publicstaticfinalStringTAG="Control";privateSocketmSocket;privatefinalExecutorServicemExecutorService;publicTCPClientUtil(){mExecutorService=Executors.new......
  • WebSocket简介
    WebSocket(简称为ws)是一种在Web应用程序中实现双向通信的协议。以下是一个使用JavaScript实现的简单WebSocket示例://创建WebSocket对象并建立连接constsocket=newWebSocket("wss://example.com/socket");//连接建立时触发的事件socket.onopen=function(){......
  • python并行之flask-socketio
    1、服务器端fromflaskimport*fromflask_socketioimport*fromflask_socketioimportSocketIOfromnasbench_lib.nasbench_201importNASBench201importrandomimportsubprocessclassServer:def__init__(self,gpu):self.app=Flask(__name__)......
  • python的websockets库
    安装pipinstallwebsockets分为客户端和服务端两部分  服务端一般与异步的库一起用因为客户端不可能只服务一个客户所以要用异步处理多个客户 以asyncio示例 fromwebsockets.serverimportserveimportwebsocketsimportasyncioasyncdefstart(ws,path):#......
  • windows socket编程
       参考:Windows下Winsock.dll与ws2_32.dll区别:在Windows中,Winsock.dll(WindowsSocketDLL)和ws2_32.dll(Winsock2DLL)是两个不同的DLL(动态链接库),但它们都与网络编程和套接字操作有关。Winsock.dll:LegacyWinsockLibrary:Winsock.dll是Windows原始的套接字库,用......
  • socket测试
    echo_server#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<arpa/inet.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#definePORT7406vo......
  • socket测试
    client.c:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/socket.h>#include<arpa/inet.h>#defineSERVER_IP"127.0.0.1"#definePORT7312#defineMAX_MSG_SIZE102......
  • 【Python进阶】第7篇:TCP和socket客户端程序开发。总结md文档集合(已分享,附代码)
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。全套笔记和代码自取地址:请移步这里感......