如何连接到c#中的socket.io?

时间:2018-01-06 09:52:35

标签: c# node.js socket.io

我想使用C#
连接到nodejs上的socket.io服务器 这是我使用

的代码
var socket = IO.Socket("http://localhost:3000/");
socket.On(Socket.EVENT_CONNECT, () => 
{
    MessageBox.Show("Connect");
});

socket.On(Socket.EVENT_CONNECT_ERROR, (data) =>
{
    Console.WriteLine(data);
});

但事件 EVENT_CONNECT_ERROR 总是被提升 我试图使用浏览器,它正在工作 这是输出:

  

Quobject.EngineIoClientDotNet.Client.EngineIOException:xhr poll错误   --->       System.AggregateException:发生一个或多个错误。 --->       System.Net.WebException:远程服务器返回错误:(404)Not Found。       在System.Net.HttpWebRequest.GetResponse()       在Quobject.EngineIoClientDotNet.Client.Transports.PollingXHR.XHRRequest.b__6_0()       在System.Threading.Tasks.Task.Execute()       ---内部异常堆栈跟踪结束---       在Quobject.EngineIoClientDotNet.Thread.EasyTimer.TaskRun(行动)       在Quobject.EngineIoClientDotNet.Client.Transports.PollingXHR.XHRRequest.Create()       ---内部异常堆栈跟踪结束---

这是typescript中的服务器代码:

import * as socketIo from 'socket.io';
import { createServer, Server } from 'http';

class App {
    public io: SocketIO.Server;
    private server: Server;

    constructor() {
        this.io = socketIo(this.server);
    }

    private middleware(): void {
        this.io.on('connection', () => {
            console.log('a user connected');
        });
    }

    private routes(): void {
        let router = express.Router();

        router.get('/', (req, res, next) => {
            this.io.emit('connection');
            res.json({
                message: 'Hello World!'
            });
        });
        this.express.use('/', router);
    }
}

0 个答案:

没有答案