我想将csharp中的数据发送到网页,而不必重新加载或任何烦人的东西,所以我决定使用Node.JS和socket.io
我对socket.io和node.js完全不熟悉,如果这不是它的工作方式,请纠正我...
1)我使用下面的代码从我的Csharp应用程序发送数据。
using Quobject.SocketIoClientDotNet.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Plus.HabboHotel.Roleplay.Extra.SocketIO
{
public static class SocketIOManager
{
public static void SendMessage(string message)
{
var socket = IO.Socket("http://127.0.0.1:400");
socket.On(Quobject.SocketIoClientDotNet.Client.Socket.EVENT_CONNECT, () =>
{
socket.Emit("emu_msg", @"Hello from PlusEMU");
socket.Disconnect();
});
}
}
}
2)Node.JS app.js选择它
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket){
console.log('a user connected');
});
io.on('emu_msg', function(socket){
console.log('emu message received?');
});
http.listen(400, function(){
console.log('listening on *:400');
});
现在在node.js控制台上,我应该收到“收到鸸message的消息”,不是吗?我没有收到那个
有人知道为什么吗?
访问使用以下代码的网页时,我确实收到了“用户已连接”
<script>
var socket = io.connect('http://127.0.0.1:400');
socket.on('emu_msg', function(data) {
alert(data);
});
</script>
但是当用csharp发送消息时,我没有得到任何东西,甚至连用户都没有连接消息,我在这里遗漏了什么吗?当使用csharp发送时,我也没有在网页上收到警报。
答案 0 :(得分:0)
在客户端上,您应该监听套接字上的消息。
io.on('connection', function(socket){
console.log('a user connected');
socket.on('emu_msg', function(msg){
console.log('emu message received?');
});
});
请参阅:here了解更多信息