2017-11-24

Next Scripting Framework

Next Scripting Framework

NX is a highly flexible, Tcl-based, object-oriented scripting language. It is a descendant of XOTcl and was designed based on 10 years of experience with XOTcl in projects containing several hundred thousand lines of code.


上面是引述官網的介紹,也就是 NSF 是 XOTcl 的後繼者。在我的認知中,以前 Tcl 最主要提供物件導向支援的套件,一個是 Incr Tcl,一個就是 XOTcl。

我並不是 NSF 的使用者,不過有需要研究一下要怎麼安裝在 openSUSE 才對,然後我會試寫一個 RPM spec 來安裝。

因為 NaviServer 的 WebSocket 實作是以 NSF 寫的,所以如果我要知道目前 NaviServer 的實作情況,那麼先置條件是要裝 NSF。等裝完並且沒有問題以後,才能夠開始 NaviServer 的 WebSocket 功能測試。



配合維基百科上的 Handshake 說明:

用戶端請求
GET / HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: example.com
Origin: http://example.com
Sec-WebSocket-Key: sN9cRrP/n9NdMgdcy2VJFQ==
Sec-WebSocket-Version: 13

伺服器回應
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: fFBooB7FAkLlXgRSz0BT3v4hq5s=
Sec-WebSocket-Location: ws://example.com/


更新:
安裝 NSF 成功。
接下來執行 chat 範例成功(需要設定 host 為 localhost)。


更新 2017/11/25
我發現 revproxy module (Reverse Proxy module) 也是使用 NSF 寫的,所以 NaviServer 也有提供 Reverse Proxy 的功能,裝上 Reverse Proxy module 就好了。

沒有留言: