2017-10-11 224 views
2

我需要從我的Java桌面應用程序訪問使用SignalR Hub運行的websocket服務器。如何僅使用websockets將java客戶端連接到SignalR Hub?

  • a library這正是這麼做的,但它已經死了。有很多問題和拉請求,並且自2015年以來一直未更新。
  • 我也發現another library,但據我所知,它只適用於Android項目。
  • 我發現a SO question表示可以用一些解決方法直接與SignalR服務器(標準websocket調用)通話,但給定的鏈接已經死亡。

當我試圖直接用websocket訪問服務器時,HTTP握手失敗(我得到HTTP 200而不是101)。

任何人都可以幫忙嗎?

回答

1

您將無法使用僅僅webSocket連接到SignalR 2.x。原因是啓動連接需要幾個HTTP請求,這些請求必須以特定的順序發送幷包含特定的內容。我在blog post中描述了SignalR協議。讀完這篇文章後,你會明白爲什麼SignalR 2.x專用客戶端存在。

話雖如此 - SignalR for ASP.NET Core的新版本不再有這個協議和要求,它可以連接到服務器只有裸露的websockets。我前一段時間創建了一個演示,演示如何執行此操作 - 您可以找到詳細信息here。我也是started working上的一個集線器層的例子,但需要完成它。

相關問題