2015-11-20 157 views
-1

我想连接到套接字。但是我没有得到控制台上的socketid。它是连接到套接字的正确方式吗?任何人都可以请建议我.. 。我无法连接到套接字

我的代码:

var app = express(); 
var dir = process.cwd(); 
app.use(express.static(dir)); //app public directory 
app.use(express.static(__dirname)); //module directory 
var server =require('http').createServer(app); 
var io = require('socket.io')(server); 



io.of('/socket_issue').on('connection', function (socket) { 
     console.log("Socket connected :"+socket.id); 
socket.emit('news', { hello: 'world' }); 
    }); 

客户端代码:

var socket = io('http://localhost:8085/socket_issue'); 
    socket.on('connect', function(){ console.log('connected to socket'); }); 
    socket.on('error', function(e){ console.log('error' + e); }); 

socket.on('news', function(data){ 
console.log(data); 

}); 
    socket.on('disconnect', function(){}); 
+0

你怎么样试图连接到套接字?我看到的只是服务器端。 – Andrius

+0

我已经编辑了我的客户端代码 – dev333

回答

0

你似乎没有在你的后端代码server.listen()。 我已经编辑服务器代码并正确的功能:

var app = require('express')(); 
var dir = process.cwd(); 
var server =require('http').createServer(app); 
var io = require('socket.io')(server); 

server.listen(8080); 

app.get('/', function (req, res) { 
    res.sendfile(__dirname + '/index.html'); 
}); 


io.of('/socket_issue').on('connection', function (socket) { 
     console.log("Socket connected :"+socket.id); 
socket.emit('news', { hello: 'world' }); 
}); 

不要忘记改变对前端的端口,它会按预期工作:

Socket connected :Y7zi7dLRxqBA5nakAAAA 
+0

请问您能否建议学习node.js的最佳方法,因为我是node.js的新手 – dev333

+0

通过做东西来学习。谷歌东西很多,你会发现一切。 – Andrius

相关问题