Разбор сообщения с сервера socket.io на WebSocketSharp - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь проанализировать данные с сервера socket.io в приложение ac #, в котором я использую WebSocketSharp.Подключение, отключение и отправка данных на сервер работает, я просто не могу понять, как получить данные с сервера.Было бы хорошо, если бы кто-то мог дать мне совет.

C # Код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WebSocketSharp;

namespace TestNode
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "42[\"test\", { \"type\":\"s\",\"key\":\"1\",\"room\":\"eq\"}]";
            using (var ws = new WebSocket("ws://127.0.0.1:3000/socket.io/?EIO=2&transport=websocket"))
            {
                ws.OnOpen += (sender, e) =>
                {
                    Console.WriteLine("Connected.");
                };

                ws.OnClose += (sender, e) =>
                {
                    Console.WriteLine("Connection closed.");
                    Console.ReadLine();
                };

                ws.OnMessage += (sender, e) =>
                {
                    Console.WriteLine(e.Data);
                    Console.ReadKey();
                };

                ws.Connect();
                ws.Send(str);
                Console.ReadKey(true);
            }
        }
    }
}

Выход:

Подключено.

0{"sid": "8IqgbzY-untT8dcLAAAA", "upgrades": [], "pingInterval": 25000, "pingTimeout": 5000}

Соединение закрыто.

Код сервера:

var express = require('express');
var app = express();
var server = app.listen(3000);
var socket = require('socket.io');
var io = socket(server);

users = [];
connections = [];

console.log('Server is running');

io.on('connection', function(socket){
    connections.push(socket);
    console.log('Connected: ' + socket.id);

    socket.on('disconnect', function() {
        console.log('Disconnected.');
    });

    socket.on('test', function() {
        console.log('Succesfull');

        var car = {
            type: "Fiat",
            model: "500",
            color: "white"
        };

        socket.emit("test", car);
    });
});

** Выход: **

Сервер работает

Подключено: 8IqgbzY-untT8dcLAAAA

Успешно

Отключено.

...