2013-05-15 2 views
3

У меня есть node.js-приложение, работающее на том же компьютере на порту 8080 с разными каналами. Связь между моим jQuery-сайтом и конечной точкой .NET работает отлично.Общайтесь с node.js с VB.NET

Мой сайт:

<!doctype html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
      <title>WebSocket-Test</title> 
    </head> 
    <body> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     <script type="text/javascript" src="/socket.io/socket.io.js"></script> 
     <script type="text/javascript"> 
      $(function() { 
       $('button').click(function() { 
        var socket = io.connect('http://localhost:4000'); 
        socket.on($('#username').val(), function (data) { 
         console.log(data); 
         socket.emit('my other event', { my: data }); 
        }); 
       }); 
      }); 
     </script> 
     <input type="text" id="username" /> 
     <button>connect</button> 
    </body> 
</html> 

Мой Node.js-сервер:

var app = require('http').createServer(handler) 
    , io = require('socket.io').listen(app) 
    , fs = require('fs') 

app.listen(4000); 
var count = 0; 

function handler (req, res) { 
    fs.readFile(__dirname + '/index.html', 
    function (err, data) { 
    if (err) { 
     res.writeHead(500); 
     return res.end('Error loading index.html'); 
    } 

    res.writeHead(200); 
    res.end(data); 
    }); 
} 

io.sockets.on('connection', function (socket) { 
    setInterval(function() { 
     socket.emit('daniel', { hello: 'Waited two seconds!'}); 
    }, 2000); 
    socket.emit('daniel', { hello: 'world' }); 
    socket.emit('stefan', { hello: 'world2' }); 
    socket.on('my other event', function (data) { 
     console.log(data); 
    }); 
}); 

Мой вопрос, как я могу emmit сообщение от моего .NET бэкэнда через Node.js?

После загрузки моей страницы у меня есть объект window.io. Каков наилучший подход? Просто выполните eval на io-объекте с emmit и каналом, или я могу передать объект или json-вещь на свой node.js-server?

Моя цель - отправить сообщение, управляемое событиями. Когда новая строка вставлена ​​в мой MSQL-DB, сообщение должно быть отправлено на каналы.

+0

Просто кстати. StackOverflow позволяет публиковать код напрямую, включая подсветку кода. (Это упрощает тестирование, потому что вы можете копировать и вставлять то, что было задано.) – TheHippo

+0

Спасибо за подсказку, я отредактировал мое сообщение. – webprogrammer

+1

Задумывались ли вы, что .NET-опрос БД публикует события? А вставки происходят из других источников? Кроме того, этот [вопрос] (http://stackoverflow.com/q/12867731/945456) может помочь ... –

ответ

1

Одна вещь, которую вы можете сделать, просто ping сервер Node.js, когда есть обновление с подробностями. Вы можете сделать это по прямому http/https.

В принципе, когда .NET обновляет db, он может отключить быстрый POST до конечной точки node.js с пакетом данных, который вы хотите развернуть пользователям.

Смежные вопросы