2011-01-13 219 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