@codingame/monaco-jsonrpc

中文文档
0.4.1发布于 2022/06/21MITTypeScriptCommonJS近 30 天下载 8.1万

VSCODE JSON RPC 通过 WebSocket

此软件包已被标记为弃用

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

中文使用文档
文档目录4 节
  1. 客户端连接处理
  2. 服务器侧连接处理
  3. 服务器侧式连接转发
  4. 许可证

: 警告: @CodinGame/monaco-jsonrpc被贬.

使用 密码- ws- jsonrpc 换成

VSCode WebSocket JSON RPC 网络安全软件

在WebSocket上实施jsonrpc客户端和服务器之间的通信的国家预防机制模块.

客户端连接处理

import * as rpc from 'monaco-jsonrpc';

const webSocket = new WebSocket('ws://www.example.com/socketserver');
rpc.listen({
    webSocket,
    onConnection: (connection: rpc.MessageConnection) => {
        const notification = new rpc.NotificationType<string, void>('testNotification');
        connection.listen();
        connection.sendNotification(notification, 'Hello World');
    }
});

服务器侧连接处理

import * as rpc from 'monaco-jsonrpc';

const socket: rpc.IWebSocket; // open the web socket
const reader = new rpc.WebSocketMessageReader(socket);
const writer = new rpc.WebSocketMessageWriter(socket);
const logger = new rpc.ConsoleLogger();
const connection = rpc.createMessageConnection(reader, writer, logger);
const notification = new rpc.NotificationType<string, void>('testNotification');
connection.onNotification(notification, (param: string) => {
    console.log(param); // This prints Hello World
});

connection.listen();

服务器侧式连接转发

import * as rpc from 'monaco-jsonrpc';
import * as server from 'monaco-jsonrpc/lib/server';

const socket: rpc.IWebSocket; // open the web socket
const reader = new rpc.WebSocketMessageReader(socket);
const writer = new rpc.WebSocketMessageWriter(socket);
const socketConnection = server.createConnection(reader, writer, () => socket.dispose())
const serverConnection = server.createServerProcess('Example', 'node', ['example.js']);
server.forward(socketConnection, serverConnection, message => {
    if (rpc.isNotificationMessage(message)) {
        if (message.method === 'testNotification') {
            // handle the test notification
        }
    }
    return message;
});

许可证

麻省理工学院

版本与发布记录

@codingame/monaco-jsonrpc 共发布 4 个版本,首次发布于 2020/11/25;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.4.1latest2022/06/214 年前
0.4.02022/05/134 年前
0.3.12021/02/035 年前
0.3.02020/11/255 年前

关于 @codingame/monaco-jsonrpc 的常见问题

@codingame/monaco-jsonrpc 是什么?

VSCODE JSON RPC 通过 WebSocket注意:该包已被作者标记为弃用——Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

如何安装 @codingame/monaco-jsonrpc?

在项目目录运行 npm install @codingame/monaco-jsonrpc,或使用 pnpm add / yarn add / bun add。

@codingame/monaco-jsonrpc 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@codingame/monaco-jsonrpc 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@codingame/monaco-jsonrpc 可以商用吗?

@codingame/monaco-jsonrpc 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@codingame/monaco-jsonrpc 的下载量有多少?

根据 npm 官方下载统计,@codingame/monaco-jsonrpc 在 2026/10/10 – 2026/11/08 这 30 天内被下载 80,893 次,日均约 2,696 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@codingame/monaco-jsonrpc 还在维护吗?

最新版本 0.4.1 发布于 2022/06/21(4 年前);至今共发布 4 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/11/25。作者已将其标记为弃用,新项目建议寻找替代方案。