zoukankan      html  css  js  c++  java
  • node.js中socket.io的使用(node.js开发实战详解一个案例分析)

      啊,又是这本书。好像里面有个交互图,呃...那个消息响应的顺序好像与我的程序不同。

      其实问题也不大,操作实例,控制台运行该文件app.js开启服务:

    var io=require('socket.io').listen(8080,{log:false});
    io.sockets.on('connection',function (socket){
    	socket.on('msg',function(data){
    		console.log(data);
    		if(data.state){
    			if(data.state=='ok'){
    				socket.emit('msg',{'me':'very good'});
    			}else{
    				socket.emit('msg',{other:'that is all'});
    			}
    		}else{
    			socket.emit('msg',{me:'that is none'});
    		}
    	})
    })
    

      然后浏览器打开页面index.html:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta http-quiv="content-type" content="text/html;charset=utf-8">
    		<meta name="keywords" content="">
    		<meta name="author" content="">
    		<title>t</title>
    	</head>
    	<body>
    		<script type="text/javascript" src="socket.io.js"></script>
    		<script type="text/javascript">
    		var socket=io.connect('http://localhost:8080');
    		socket.emit('msg',{'state':'ok'});
    		socket.on('msg',function (data){
    			console.log(data);
    			if(data.me){
    				socket.emit('msg',{connection:'good'});
    			}
    		})
    		</script>
    	</body>
    </html>
    

      然后即可在两个控制台看到相应的响应,socket.io.js请在官网下载。注意客户端的console.log()语句输出在浏览器端,而服务端输出在CMD窗口。

      我将例子稍作修改,让两个事件相互监听触发从而更好理解消息传递,最终图:

      输出顺序为:{state:'ok'}->{me:'very good'}->{connection:'good'}->{me:'that is none'}-> ...然后循环。如若表述有误欢迎大神指正。

  • 相关阅读:
    公司官网ucenter搬家注意问题
    PHP中获取CHECKBOX提交的内容及checkbox全选
    js注册验证
    c# 相对路径的一些文献
    C# 读取xml中的配置信息,并加入到combobox或者其他中(winform)
    java 路径问题,防止再忘掉
    Mastering the Java CLASSPATH
    ps 制作背景透明 图片
    c# 双缓冲 技术与例子
    一些经验记录,主要是C# ToString()和 DateTime 之类的
  • 原文地址:https://www.cnblogs.com/stonl/p/4423243.html
Copyright © 2011-2022 走看看