0

我正在玩语言服务器协议。在玩了一段时间后,我可以看到两种与语言服务器通信的方式,即阻塞套接字和非阻塞套接字。

通过阻塞套接字,我的意思是发送请求并阻塞直到响应。这很简单,但是一旦我在 GUI 应用程序中使用它就会阻止 UI。另一种是使用异步/非阻塞套接字。这有点复杂,可能需要一些回调/事件机制。

现在我的问题是 VSCode 使用哪种方式与 LSP 通信?

4

1 回答 1

2

许多扩展使用的节点语言服务器实现使用非阻塞通信。你可以在这里找到实现。它使用 nodejs 流和net模块

于 2019-04-22T18:35:32.183 回答