我正在使用socket.io尝试Node.js
现在这是我的场景我是ubuntu 12.04用户,我在桌面上有文件夹pp
在里面我是推送服务器文件即 app.js
这是内容
var fs = require('fs')
, http = require('http')
, socketio = require('socket.io');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-type': 'text/html'});
res.end(fs.readFileSync(__dirname + '/index.html'));
}).listen(8080, function() {
console.log('Listening at: http://localhost:8080');
});
socketio.listen(server).on('connection', function (socket) {
socket.on('message', function (msg) {
console.log('Message Received: ', msg);
socket.broadcast.emit('message', msg);
});
});
Run Code Online (Sandbox Code Playgroud)
现在在同一文件夹中我有另一个文件index.html喜欢
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
$(function(){
var iosocket = io.connect();
iosocket.on('connect', function () {
$('#incomingChatMessages').append($('<li>Connected</li>'));
iosocket.on('message', function(message) {
$('#incomingChatMessages').append($('<li></li>').text(message));
});
iosocket.on('disconnect', function() { …Run Code Online (Sandbox Code Playgroud) 我想在调用一些API路由时向客户端发出一些数据.我必须在server.js上关注代码
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket){
console.log('a user connected');
socket.emit('tx', 'msg');
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
Run Code Online (Sandbox Code Playgroud)
现在我有这条路线/测试:
var bsg = require('./routes/test');
Run Code Online (Sandbox Code Playgroud)
那个档案:
var express = require('express');
var passport = require('passport');
var router = express.Router();
router.get('/test', function(req, res) {
//work here
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
在客户端:
<script type="text/javascript">
var socket = io();
socket.on('tx', function(data) {
console.log(data);
});
</script>
Run Code Online (Sandbox Code Playgroud)
什么是最好的解决方案?
谢谢!
Express 4/socket.io 1.4.5