2017-10-12 36 views
0

我正在學習socket.io。 繼教程後,我使用express和webpack創建了一個簡單的服務器。Socket io。 ('連接')創建一個無限循環

const path = require('path'); 
const webpack = require('webpack'); 
const app = require('express')(); 

const config = require('./webpack.config.local'); 

const server = require('http').Server(app); 
const io = require('socket.io')(server); 

const compiler = webpack(config); 

// Set up the server to use webpack middleware 
app.use(
    require('webpack-dev-middleware')(compiler, { 
    publicPath: config.output.publicPath, 
    stats: { 
    colors: true, 
    }, 
    historyApiFallback: true, 
    }), 
); 

// We need hot reload too 
app.use(require('webpack-hot-middleware')(compiler)); 

app.get('/', (req, res) => { 
    res.sendFile(path.join(__dirname, 'src/index.html')); 
}); 

io.on('connection', (socket) => { 
    console.log('user is connected', socket.id); 
}); 

// Server Listening 
server.listen(3000, (err) => { 
    if (err) { 
    console.log(err); 
} 
}); 
在index.html的

我補充一點:

<script src="https://cdn.socket.io/socket.io-2.0.3.js"></script> 
    <script> 
const socket = io(); 
</script> 

當我啓動「用戶連接」服務器獲取打印用無限循環,而不是僅僅一個。我試了幾個教程,但不斷得到相同的錯誤。 我有客戶端和服務器包在相同的版本,但無法弄清楚我做錯了什麼。 enter image description here

+0

我正在使用服務器和客戶端的相同版本的軟件包。 2.0.3 –

回答

0

好的,我不知道發生了什麼,我改變了端口,它開始工作。 我現在已經回到了3000端口,並且工作正常,不知道究竟發生了什麼,但顯然與代碼無關。