2017-10-17 203 views
8

我試圖用Xamarin和WebSocket4Net進行一個簡單的測試,但它在打開()時出現「操作已在進行中」失敗。下面的示例代碼:WebSocket4Net簡單的例子失敗,「操作已在進行中」

using Xamarin.Forms; 
using WebSocket4Net; 
using System; 
using SuperSocket.ClientEngine; 

namespace SocketTest 
{ 
    public partial class SocketTest : ContentPage 
    { 
     private WebSocket websocket; 
     public SocketTest() 
     { 
      InitializeComponent(); 

     } 

     void Handle_Clicked(object sender, System.EventArgs e) 
     { 
      websocket = new WebSocket("ws://echo.websocket.org/"); 
      websocket.Opened += Websocket_Opened; 
      websocket.Error += Websocket_Error; 
      websocket.Closed += Websocket_Closed; 
      websocket.MessageReceived += Websocket_MessageReceived; 
      websocket.Open(); 
     } 

     private void Websocket_Error(object sender, ErrorEventArgs e) 
     { 
      Console.WriteLine(e.Exception.Message); 
     } 

     private void Websocket_MessageReceived(object sender, EventArgs e) 
     { 
      Console.WriteLine(e.ToString()); 
     } 

     private void Websocket_Closed(object sender, EventArgs e) 
     { 
      Console.WriteLine(e.ToString()); 
     } 

     private void Websocket_Opened(object sender, EventArgs e) 
     { 
      websocket.Send("Hello World!"); 
     } 
    } 
} 

我開始用標準的多平臺項目(PCL),並增加了一個按鈕來啓動連接。

Versions: 
0.15.0 WebSocket4Net 
0.8.0.13 SuperSocket 

的PCL配置了:.NET標準平臺= netstandard1.4

我是相當新的.NET/Xamarin,但有多年在我身後的軟件開發。

回答

1

我有0.15的相同問題。你有沒有嘗試降級到0.14,並刪除SuperSocket?

有關於這個問題的GitHub問題。

Getting this error when trying to connect in StartReceive()

下面是摘錄:

Excerpt from GitHub issue

+3

雖然此鏈接可以回答這個問題,最好是在這裏有答案的主要部件,並提供鏈接以供參考。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/評論/低質量帖/ 18199825) –

+2

@AnuragDaolagajao這不是一個鏈接唯一的答案。我建議降級到0.14。我會複製一些更多的信息來滿足審計。 – wonea