通过WebSocket从C#到Python的字符串

2024-09-26 18:18:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个WebSocket服务器,它是用Python3编写的

server = WebsocketServer(13254, host='127.0.0.1')
server.set_fn_new_client(new_client)
server.set_fn_message_received(message_got)
server.run_forever()

和C#Client Nuget

private async void Connect()
    {
        var exitEvent = new ManualResetEvent(false);
        var url = new Uri($"wss://{ip}:{port.ToString()}");
        using (this.client = new WebsocketClient(url))
        {
            client.ReconnectTimeout = TimeSpan.FromSeconds(10);
            client.ReconnectionHappened.Subscribe(info =>
                Console.WriteLine($"Reconnection happened, type: {info.Type}"));

            client.MessageReceived.Subscribe(msg => Console.WriteLine($"Message received: {msg}"));

            await client.Start();

            exitEvent.WaitOne();
        }
    }

    public async void send(string data)
    {
        await Task.Run(() => this.client.Send(Encoding.UTF8.GetBytes("A"))); 

    }

当我试图发送一些文本时,服务器总是出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8e in position 4: invalid start byte错误而崩溃

我试过:

  • Encoding.UTF8.GetBytes(data)(客户端)

但它不起作用


Tags: 服务器clienturlmessagenewasyncservervar

热门问题