2016年1月11日星期一
用 Synology 的 Docker 運行 ASP.NET 5 試行 Simple WebSocket.
在家都有隻 Synology 的 NAS. 知道 DSM 可運行 Docker 就當然要試一下.
輕鬆地從 Package Manager 找 Docker 就可以.
安裝後就可以從 Docker Hub 找 "aspnet" 就找到 Microsoft/aspnet
輕鬆地從 Package Manager 找 Docker 就可以.
安裝時選擇所需的版本. 我選用了 1.0.0-rc1-update1.
當下載後, 就可以係 Image 中找到已下載的 Image.
這裡可以選 Launch with Wizard.
Step 1: Container Name 同加一個 Port. 主要將 NAS 的 Port 指到 Container 的 Port.
Step 2: Default 就可以.
Step 3: 這裡需要 Advanced Settings 主要將一個 Folder 指入 Container. 用作將要放的 ASP.NET Web 放到 Container 中, 如下.
完成後就可以開始這個 Container.
進入 Home Folder (我將 Project Files 指到 Home)
運行一次 dnu restore (Restore 所需的套件)後, 就可以 dnx web 去運行.
但我沒有加入相關的 config. 這裡直接加入 Options.
dnx web --server.urls http://0.0.0.0:5000 預設是 localhost:5000. 外部不能連入. 所以改成 0.0.0.0:5000
這樣就可以直接連入 NAS 的 50080 Port. 之前 Step 1 指定的. 同樣可以運行這個簡單的 WebSocket.
2016年1月10日星期日
簡單試作 ASP.NET 5 RC1 WebSocket
基本上都己經更新了 Visual Studio 2015, 更新到最新 Stable 版的 DNX.
新開一個 ASP.NET 5 Project.
主要用的的套件是: "Microsoft.AspNet.WebSockets.Server": "1.0.0-rc1-final"
當加入 Microsoft.AspNet.WebSockets.Server 就可以在 Startup.cs 用 app.UseWebSockets();
因為只是單純測試 WebSocket 所以都在 Startup 直接制作一個 Echo WebSocket.
以上的 Simple 沒有處理多個封包的合併, 同時也沒有處理回應的實際應有的長度, 所以回應會是 1024 Bytes.
加入頁面用作 WebSocket Client 測試.
簡單幾句 new WebSocket(); Handle "onmessage". 再用 websocket.send("Message") 就可以.
再用 Debugger 就可以看到來回的訊息.
從此可以見 Browser 送出的 5 Bytes Message, 回來因沒有正確 Create ArraySegment 所以看到 1024 Bytes.
加入正確的 ArraySegment Size 如下, 在回覆前創建一個新的 ArraySegment.
再從 Debugger 查看.
可以看見來回都是 5 Bytes.
訂閱:
文章 (Atom)