xMagic- 仓湖云函数数字应用平台
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
  1. xScript - x16.25.11
  • xMagic - 仓湖云函数数字应用平台
  • xScript - 仓湖云函数数字应用引擎
  • xMagic - 二开应用场景案例
  • 数据应用
    • 消息订阅(WSS)
    • 消息订阅(SSE)
    • 用户信息
    • 免密登陆(短信)
  • xScript - x16.25.11
    • assert
    • buffer
    • color
    • compress
    • console
    • crontab
    • crypto
    • encoding
    • events
    • evenloop
    • esm
    • fetch
    • fs
    • image
    • kv
    • mail
    • ml
    • mqtt
    • multipart
    • net
    • os
    • path
    • process
    • protobuf
    • querystring
    • redis
    • request
    • require
    • sql
    • tty
    • tui
    • ua
    • url
    • util
    • websocket
    • xml
    • yaml
    • mongo
    • http
    • stream
    • runtime
  • 小工具
    • APS - 代理转发
      • Any Proxy Service - 高级 HTTP/HTTPS/gRPC 代理转发工具
      • 配置指南 - 双向 Headers 和 Match/Replace
  • 数据模型
    • Schemas
      • AdminChangeAvatarReq
      • casbin.CasbinRule
      • AdminDelBatchReq
      • entity.DeptLable
      • AdminDelReq
      • entity.DevGenTable
      • AdminListReq
      • entity.DevGenTableColumn
      • AdminLoginReq
      • entity.FlowWorkClassify
      • AdminPostReq
      • entity.FlowWorkInfo
      • AdminReply
      • entity.FlowWorkTemplates
      • AdminUpdatePwdReq
      • entity.LogLogin
      • MenuDelBatchReq
      • entity.LogOper
      • MenuDelReq
      • entity.LoginM
      • MenuListReq
      • entity.MenuLable
      • MenuPostReq
      • entity.MenuPath
      • MenuReply
      • entity.ResEmail
      • RoleApisReq
      • entity.ResOss
      • SystemApiDelBatchReq
      • entity.ScreenGroupLabel
      • SystemApiDelReq
      • entity.SysApi
      • SystemApiListReq
      • entity.SysConfig
      • SystemApiPostReq
      • entity.SysDept
      • SystemApiReply
      • entity.SysDictData
      • SystemDepartmentDelBatchReq
      • entity.SysDictType
      • SystemDepartmentDelReq
      • entity.SysJob
      • SystemDepartmentListReq
      • entity.SysMenu
      • SystemDepartmentPostReq
      • entity.SysNotice
      • SystemDepartmentReply
      • entity.SysPost
      • SystemRoleApiDelBatchReq
      • entity.SysRole
      • SystemRoleApiDelReq
      • entity.SysTenants
      • SystemRoleApiListReq
      • entity.SysUser
      • SystemRoleApiPostReq
      • entity.SysUserB
      • SystemRoleApiReply
      • entity.SysUserId
      • SystemRoleDelBatchReq
      • entity.SysUserView
      • SystemRoleDelReq
      • entity.VisualRuleChain
      • SystemRoleListReq
      • entity.VisualScreen
      • SystemRoleMenuAddReq
      • entity.VisualScreenGroup
      • SystemRoleMenuDelBatchReq
      • form.Login
      • SystemRoleMenuDelReq
      • from.SendMail
      • SystemRoleMenuListReq
      • map[string]interface {}
      • SystemRoleMenuPostReq
      • map[string]string
      • SystemRoleMenuReply
      • model.BaseAutoModel
      • SystemRolePostReq
      • model.BaseModel
      • SystemRoleReply
      • model.ResultPage
      • model.ResultPage.data
      • vo.AuthVo
      • vo.DeptTreeVo
      • vo.MenuTreeVo
      • vo.MetaVo
      • vo.RouterVo
      • vo.TableInfoVo
      • vo.TokenVo
      • vo.UserRolePost
      • vo.UserVo
      • vo.UserVo.data
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
  1. xScript - x16.25.11

net

Net 模块#

Net 模块为 XScript 提供网络通信功能,支持 TCP、UDP 协议的客户端和服务器实现。

功能特性#

TCP 通信 - TCP 客户端和服务器
UDP 通信 - UDP 数据报发送和接收
Socket 编程 - 底层 Socket 操作
连接管理 - 连接池和超时控制
会话管理 - TCP/UDP 会话管理,类似 WebSocket/SSE
数据流 - 流式数据传输
事件驱动 - 异步事件处理

基本使用#

引入模块#

TCP 服务器#

TCP 客户端#

UDP 服务器#

UDP 客户端#

会话管理#

Net 模块提供了类似 WebService 模块中 WebSocket 和 SSE 的会话管理功能,可以方便地管理 TCP 和 UDP 连接。

TCP 会话管理#

每个 TCP 连接都会被自动分配一个唯一的会话 ID (sessionId),可以通过 socket.sessionId 获取。

TCP 会话 API#

net.tcp.send(sessionId, data)#
向指定会话发送数据。
参数:
sessionId (string) - 会话 ID
data (string|Buffer) - 要发送的数据
示例:
net.tcp.broadcast(data)#
向所有 TCP 会话广播数据。
参数:
data (string|Buffer) - 要广播的数据
示例:
net.tcp.has(sessionId)#
检查指定会话是否存在。
参数:
sessionId (string) - 会话 ID
返回: (boolean) 会话是否存在
net.tcp.all()#
获取所有 TCP 会话 ID 列表。
返回: (Array <string>) 会话 ID 数组
示例:
net.tcp.close(sessionId)#
关闭指定会话。
参数:
sessionId (string) - 会话 ID

UDP 会话管理#

UDP Socket 创建时会被自动分配一个唯一的会话 ID,可以通过 socket.sessionId 获取。

UDP 会话 API#

net.udp.send(sessionId, data, address, port)#
向指定地址发送数据。
参数:
sessionId (string) - 会话 ID
data (string|Buffer) - 要发送的数据
address (string) - 目标地址
port (number) - 目标端口
示例:
net.udp.broadcast(data, address, port)#
向指定地址广播数据(使用所有 UDP 会话)。
参数:
data (string|Buffer) - 要广播的数据
address (string) - 目标地址
port (number) - 目标端口
net.udp.has(sessionId)#
检查指定会话是否存在。
参数:
sessionId (string) - 会话 ID
返回: (boolean) 会话是否存在
net.udp.all()#
获取所有 UDP 会话 ID 列表。
返回: (Array <string>) 会话 ID 数组
net.udp.close(sessionId)#
关闭指定 UDP 会话。
参数:
sessionId (string) - 会话 ID

会话管理实例#

TCP 聊天服务器(使用会话管理)#

监控在线会话#

定向消息推送#

API 参考#

TCP 方法#

net.createServer(callback)#

创建 TCP 服务器。
参数:
callback (function) - 连接回调,接收 socket 对象
返回: (Server) 服务器对象

net.connect(options, callback)#

创建 TCP 客户端连接。
参数:
options.port (number) - 端口号
options.host (string) - 主机地址
callback (function) - 连接回调
返回: (Socket) Socket 对象

Socket 方法#

socket.write(data)#

发送数据。

socket.end()#

关闭连接。

socket.on(event, callback)#

监听事件。

事件#

'data' - 接收到数据
'end' - 连接结束
'error' - 发生错误
'close' - 连接关闭

实际应用场景#

简单聊天服务器#

代理服务器#

端口扫描#

最佳实践#

1.
错误处理 - 始终监听 error 事件
2.
超时设置 - 设置连接和读取超时
3.
资源清理 - 及时关闭不用的连接
4.
缓冲区管理 - 注意数据缓冲
5.
连接池 - 复用连接提高性能
6.
会话管理 - 使用会话 ID 管理连接,便于追踪和控制
7.
广播优化 - 大量客户端时注意广播性能

相关模块#

websocket - WebSocket 通信
mqtt - MQTT 协议
request - HTTP 请求
修改于 2025-11-03 13:09:15
上一页
multipart
下一页
os
Built with