基于 WebSocket 的实现有多种:金融、消息发布、队列等。sgcWebSockets 实现了基于 WebSocket 协议的最重要 API。使用 API 时,只需将 API 组件附加到客户端,所有消息将由 API 组件处理(每个客户端只能附加一个 API 组件)。
| API | 描述 |
| Binance | 是一家国际多语言加密货币交易所。 |
| Binance Futures | 允许您连接到 Binance Futures WebSocket / REST 市场数据流。 |
| Coinbase |
Coinbase 是一家美国加密货币交易所。可使用 USD、EUR 和 GBP 交易比特币(BTC)、以太坊(ETH)等。支持 WebSocket API 和 REST API。 |
| SignalR | 是一个面向 ASP.NET 开发人员的库,使用 WebSocket 作为传输层,可简化实时 Web 功能的开发。 |
| SignalRCore |
ASP.NET Core SignalR 是一个开源库,简化了向应用添加实时 Web 功能的过程。 |
| SocketIO | 是一个用于实时 Web 应用程序的 JavaScript 库。它实现了 Web 客户端和服务器之间的实时双向通信。 |
| Kraken | 是一家总部位于美国的加密货币交易所。 |
| Kraken Futures | 允许您连接到 Kraken Futures WebSocket / REST 市场数据。 |
| Pusher | Pusher 是一个简单可靠的平台,提供灵活的发布/订阅消息传递、实时用户列表、认证等功能。 |
| Bitfinex | Bitfinex 是全球最大、最先进的加密货币交易平台之一。用户可以交易比特币、以太坊、瑞波币、EOS、比特币现金、Iota、NEO、莱特币、以太坊经典…… |
| Bitstamp | Bitstamp 是全球历史最悠久的加密货币交易所之一,自 2011 年起支持区块链生态系统。 |
| Huobi | 是一家国际多语言加密货币交易所。 |
| Cex | 是一个加密货币交易所,也是前比特币云挖矿提供商。 |
| Cex Plus | CEX.IO Exchange Plus 是终极加密货币交易平台,具备深度流动性和高级交易工具 |
| Bitmex | 是一个加密货币交易所和衍生品交易平台。 |
| 3Commas | 这是一个加密交易机器人。 |
| Kucoin | 是一个加密货币交易所,允许您购买、出售和存储 BTC、ETH、KCS、SHIB、DOGE 等加密货币 |
| Kucoin Futures | 允许您连接到 Kucoin 期货服务器(WebSocket 和 REST) |
| OKX | 前身为 OKEx,是全球最大的加密现货和衍生品交易所之一。 |
| XTB | 外汇和差价合约交易,提供对超过 2000 个金融市场的访问。 |
| Discord | 是目前最受欢迎的在线游戏和流媒体通讯工具之一。 |
| Bybit | 加密货币交易所和交易平台 |
| OpenAI API | OpenAI Realtime API 实现低延迟、多模态交互,包括语音到语音对话体验和实时转录。 |
| MEXC | 中心化加密货币交易所和交易平台,本组件实现了 SPOT API。 |
| MEXC Futures | 中心化加密货币交易所和交易平台,此组件实现 Futures API。 |
| Bitget | 支持现货和期货市场的加密货币交易所和交易平台。 |
| Gate.io | 支持现货和期货交易的加密货币交易所,提供 WebSocket 和 REST API。 |
| Deribit | 提供比特币和以太坊期货及期权交易的加密货币衍生品交易所。 |
| Crypto.com | 支持通过 WebSocket 和 REST API 进行市场和用户频道的加密货币交易所。 |
| HTX | 国际加密货币交易所(原火币),提供用于市场数据和交易的 REST API。 |
WebSocket API 可在运行时注册,只需调用 RegisterAPI 方法并将 API 组件作为参数传入即可。
| API | 描述 |
| Telegram | 是一种基于云的即时通讯和网络语音服务。用户可以发送消息,交换照片、视频、贴纸、音频和任意类型的文件。 |
| 是一款国际通用的美国免费跨平台集中式即时通讯和网络电话服务 | |
| RCON | 是一种基于 TCP/IP 的通信协议,允许向服务器发出控制台命令。 |
| CryptoHopper | 这是一个加密交易机器人和投资组合管理器。 |
| CryptoRobotics | 这是一个加密交易机器人。 |
| API | 描述 |
| RTCMultiConnection | RTCMultiConnection 是一个用于点对点应用(屏幕共享、音视频会议、文件共享、媒体流等)的 WebRTC JavaScript 库。 |
| WebPush | Web Push 协议允许 Web 应用程序即使在应用程序未打开或未激活时也能向用户发送通知。 |
| WebAuthn | FIDO2/WebAuthn 服务器 API,用于通过生物识别、安全密钥和通行密钥进行无密码身份验证。 |
API 组件通过一个通用的 HTTP 客户端发送其 REST 请求。当请求以 HTTP 错误状态失败时,客户端会引发 EsgcHTTPAPIProtocolException,该异常在 sgcHTTP_API 单元中声明。此异常派生自以前版本中引发的异常,因此现有的异常处理程序无需任何更改即可继续工作,并且它会携带失败请求的响应标头。以前,HTTP 对象在错误到达应用程序之前就已被销毁,这些标头也随之丢失,因此完全无法读取 HTTP 429 响应中的 Retry-After 标头,也无法读取交易所返回的速率限制计数器。
Post 和 Query 方法接受的 ResponseHeaders 参数现在在请求失败时也会被填充,而不仅仅是在请求成功时。
有关完整示例,请阅读 Binance | 获取市场数据。
每个 WebSocket API 客户端都有一个 Throttle 属性,用于限制客户端发送到服务器的消息。交易所会关闭超出其消息速率的连接,因此突发的订阅帧可能导致套接字断开。