2011-01-13 150 views
0

我正在尝试使用NppScripting编写一个NotePad ++插件,这是一个使用javascript(特别是JScript)编写插件的平台。使用JScript监听端口

我想知道是否有一种方法(可能通过ActiveXObject),我可以异步地侦听端口(特别是 - 我试图写一个CSS-X-Fire端口到NPP)。

我知道.NET通过System.Net.Sockets有这种功能,但我找不到通过JScript访问它的方法。

任何帮助?

回答

-1

我最终决定使用Adobe AIR来创建我的解决方案。它提供了一套令人惊叹的API,包括一组Socket API。

你可以看看我的解决方案here

0

如果我这样做,我会在.NET中编写Socket服务器作为独立的EXE。 如果我正确理解CSS-X-Fire,它是IntelliJ Idea的一个插件,它侦听来自Firebug的传出通信,然后适当地更新源文件。这听起来相对简单。 .NET套接字服务器可以很容易地做到这一点。然后,而不是直接从套接字服务器暴露第二个接口到脚本环境 - 如COM对象或COPYDATA通道或类似的东西 - 我会使用文件系统进行通信。换句话说,在NPP中编写脚本来轮询文件系统文件的更新。当.NET Socket服务器收到一条消息“Firebug刚刚更新文件X.css”时,.NET Socket服务器可以将这些更新应用到文件系统文件,并将更改保存回文件系统。由于Notepad ++应用程序轮询文件系统,它会看到更新的文件并重新加载它,获取已保存的更改。您需要智能地在N ++中执行光标管理。

Emacs对于这种事情有一个“自动恢复模式”,所以.NET CSS-X-Fire Socket服务器可以与emacs一起使用 - 不需要额外的脚本。不确定N ++是否具有自动还原等效功能。

+0

NPP已经做了这种极化。我认为独立比插件更有意义。一个耻辱,我不知道如何使用.NET ... – AriehGlazer 2011-01-15 08:27:39