2016-10-17 4 views
-1

Я хотел послать данные CSharp на веб-страницу жить без необходимости перезагрузки или что-нибудь раздражает подобное, поэтому я решил использовать Node.js и Socket.ioCsharp с 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 я должен получать "эму полученное сообщение" я не должен? Я не принимаю это

Кто-нибудь знает почему?

я получить «пользователя, подключенного» при посещении веб-страницы, которая использует код ниже

<script> 
    var socket = io.connect('http://127.0.0.1:400'); 
    socket.on('emu_msg', function(data) { 
     alert(data); 
    }); 
    </script> 

Но при отправке сообщения с CSharp я ничего не получаю, даже не пользователь подключения сообщение, я что-то упустил? И я не получаю оповещение на веб-странице при отправке с помощью csharp.

+0

Я использую библиотеку SocketIoClient.Net в CSharp для передачи данных –

+0

Может быть, вы хотите, чтобы приложение ASP.NET MVC с SignalR? Таким образом, вам не нужно изучать Node и socket.io –

ответ

0

на клиенте вы должны слушать сообщение в гнезде.

io.on('connection', function(socket){ 
    console.log('a user connected'); 
    socket.on('emu_msg', function(msg){ 
    console.log('emu message received?'); 
    }); 
}); 

см: here для получения дополнительной информации