admin管理员组文章数量:1389973
On client side in browser as ejs page:
<script src=".io-1.2.0.js">
</script>
<script>
var socket = io()
socket.on('message', function (msg) {
console.log(msg)
})
</script>
On server side in Node Js:
var http = require('http').Server(app);
var io = require('socket.io')(http)
io.on('connection', function(socket){
console.log('a user connected')
socket.on('disconnect', function(){
console.log('user disconnected')
})
io.emit('message', json);
})
I'm not getting 'a user connected' log in Node Js console. Because var socket = io() is not working or what is the problem i don't know. Can i use socket.io in .ejs page? I need ejs and i also need socket.io in my application. Any help would be appreciated.
On client side in browser as ejs page:
<script src="https://cdn.socket.io/socket.io-1.2.0.js">
</script>
<script>
var socket = io()
socket.on('message', function (msg) {
console.log(msg)
})
</script>
On server side in Node Js:
var http = require('http').Server(app);
var io = require('socket.io')(http)
io.on('connection', function(socket){
console.log('a user connected')
socket.on('disconnect', function(){
console.log('user disconnected')
})
io.emit('message', json);
})
I'm not getting 'a user connected' log in Node Js console. Because var socket = io() is not working or what is the problem i don't know. Can i use socket.io in .ejs page? I need ejs and i also need socket.io in my application. Any help would be appreciated.
Share Improve this question asked Feb 10, 2017 at 9:39 JaySparkexelJaySparkexel 1654 silver badges16 bronze badges 1-
You should connect it to your server and port no.
var socket = io('localhost:port')
, refer sachinsharma./2012/07/… – Sasi Varunan Commented Feb 10, 2017 at 17:43
1 Answer
Reset to default 3Here is the solution that worked fine for me.
Server-side
var express = require('express');
var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var ejs = require('ejs');
app.set('view engine', 'ejs');
app.get('/', function(req, res) {
res.render('index');
});
io.on('connection', function(socket) {
console.log('a user connected');
socket.on('chat message', function(msg){
console.log('message: ' + msg);
});
});
server.listen(process.env.PORT || 3000, function(){
console.log('app running');
});
And here is the index.ejs code
client-side
<form action="">
<input id="m" autoplete="off" /><button>Send</button>
</form>
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery./jquery-1.11.1.js"></script>
<script>
$(function () {
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
});
</script>
本文标签:
版权声明:本文标题:node.js - Can we use socket.io with ejs(embedded javascript) instead of html page in Node JS application? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744744462a2622802.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论