8

我正在尝试使用 Xamarin 和 WebSocket4Net 进行简单的测试,但它在 Open() 上失败,并显示“操作已经在进行中”。下面的示例代码:

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 Standard Platform = netstandard1.4

我对 .NET/Xamarin 还很陌生,但我拥有多年的软件开发经验。

4

1 回答 1

1

我对 0.15 也有同样的问题。您是否尝试过降级到 0.14 并删除 SuperSocket?

关于这个问题有一个 GitHub 问题。

尝试在 StartReceive() 中连接时出现此错误

这是一段摘录:

摘自 GitHub 问题

于 2017-12-06T20:28:05.423 回答