我想使用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);
}
}