nodejs+socket实现网页的实时更新


由于项目需要,才开始学习nodejs,如果不对之处,请指教。

目前还没想到socket服务端如何才能直接发消息给客户端,只能用以下方法。

思路:共3个文件。触发客户端发现有新数据将触发到服务端,服务端在将消息提供能正在连接的用户。

如有更好的方法,请说明下。

1.安装socket.io

npm install socket.io

 2.触发客户端。(trigger.html)

<script src="http://localhost:2500/socket.io/socket.io.js"></script>
<script language="javascript">
    var socket = io.connect('http://localhost:2500');//获取监听
        var abc = function(){
            socket.emit('client',{my:'data'});//返回给服务端
        }


</script>
<button onClick='abc()'>点击</button>//点击后将提交至服务端。

3.服务端。(server.js)

var io = require('socket.io').listen(2500);//启动端口2500
//监听
io.sockets.on('connection',function(socket){

	socket.on('client',function(data){//接受到数据
		socket.broadcast.emit('server',{hello:'world'});//发送广播给除触发用户的所有人。
		console.log(data);//打印到命令行							
	});
	
});

 4.客户端。(client.html)接收服务器端传送过来的消息

<script src="http://localhost:2500/socket.io/socket.io.js"></script>
<script language="javascript">
	var socket = io.connect('http://localhost:2500');//获取监听
			socket.on('server',function(data){
				alert(data.hello);
			});


</script>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM