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