[英]Socket.io doesn't work
這是我的server.js:
var app = require('express')();
var server = require('http').Server(app).listen(8080,function(){
console.log('working');
});
var io = require('socket.io')(server);
app.get('/',function(req,res){
res.sendFile(__dirname+'/index.html');
});
io.on('connection',function(socket){
console.log('someone connected');
});
這是我的index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script src="node_modules/socket.io-client/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket = io();
</script>
</body>
</html>
我想我在網站上正確地完成了操作,但是當我在節點上運行它並查看localhost:8080時,我在控制台中看不到``某人已連接''這句話,這是問題所在還是什么原因?
我在服務器上設置了代碼,但將index.html
文件的腳本源更改為:
<script src="/socket.io/socket.io.js"></script>
我可以記錄服務器上someone connected
的someone connected
。
這取自socket.io網站上的頂級示例。 我猜想文件路徑解析必須在socket.io
服務器源代碼中的某個地方處理。
另請參閱: 找不到socket.io.js
試試這個,對我有用
Server.js(服務器端)
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res) {
res.sendFile(__dirname + '/index.html');
console.log(__dirname + " dir name");
});
io.on('connection', function(socket) {
socket.on("join", function(name) {
});
socket.on('disconnect', function() {
});
});
http.listen(8080, function() {
console.log('listening on *:8080');
});
在客戶端
var socket = io.connect("http://localhost:8080");
socket.on('connect', function() {
//connect
});
socket.emit("join", 'user1');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.