本地连接在哪里 wifi怎么办理和安装( 三 )

  
当服务端对这个昵称进行合法性检测,通过时触发:  
socket.on( 'loginSuccess', function(){  
//1. 隐藏登录层//2. 用户可以愉快和别人聊天了~  
});  
如果用户输入的昵称不合法,则触发:  
socket.on( 'loginFailed', function(){  
//1. 提示用户昵称哪里出问题了//2. 等待用户重新输入  
});  
注意这里的事件名称,如 login、loginSuccess、loginFailed 都是自定义的,只要保证和服务端的一致就 ok 了 。  
发送消息  
想像一下用户发送消息这个动作,分解一下:输入文本 -> 点击发送 。也就是这俩了,ok,这里需要给发送按钮挂上一个事件,告诉服务端,“服务端服务端,这里是 socket XXX,我给你发了一个消息哦,注意查收,over 。”  
socket.emit( 'msgSend',msg);  
携带一个参数,即用户的输入 。  
接受消息  
接受消息这个逻辑有三种情况  
自己发送的消息  
别人发送的消息  
系统的提示信息  
莫慌,一个一个来看 。  
自己发送的消息  
自己发送的消息直接显示在聊天消息的面板,接收自己发送的消息不用和后台交互,只需要告诉后台我给大家发了这条消息即可 。当然啦,你也可以仿照微信对自己发送的消息进行处理:发送的瞬间将自己的消息添加聊天面板 -> 给旁边放个小菊花或者loading的字样 -> 与后台进行交互 -> 成功则隐藏小菊花;失败则将小菊花变成红色感叹号暗示用户发送失败 。  
别人发送的消息  
现在就需要在前端建立一个响应服务端“有新消息”的监听事件了 。  
socket.on( 'newMsg', function(nickname, msg){  
//显示这条新消息  
});  
回调函数里面有两个参数,nickname 和 msg,分别是消息发送者的昵称和消息内容,这俩是怎么来的呢?不要急,后面会在服务端逻辑里面讲到,这里你只需要知道,在前端接受新消息的时候,因为牵扯到展示新消息,所以需要这两个参数 。  
系统的提示信息  
关于系统的提示信息,主要分为两个:  
提示新加入和退出的用户  
展示当前在线的用户数  
大概是这个样子,所以需要在前端对系统事件进行监听  
socket.on( 'system', function(nickname, count, type){  
//1.根据系统事件类型(新加入或离开)来提示用户//2.修改在线用户数量  
});  
这里的三个参数也都是必不可少的,nickname 代表触发系统事件的用户的昵称,count 表示当前在线的用户数量,type表示事件类型(加入/离开) 。同样,这三个参数也都是服务端传过来的 。  
后台逻辑  
与前端对应,后台的逻辑主要分为以下几个部分  
起服务  
建立连接  
用户登录  
接受用户发送的消息并广播之  
系统消息的处理  
varapp = express();  
varserver = require( 'http').createServer(app);  
vario = require( 'socket.io')(server);app.use( '/',express.static(__dirname + "/www"));server.listen( 8080);  
因为我把前端文件(html/js/css)放到了 www 这个文件夹内,所以用 express 指定返回给浏览器的页面路径现在这样 。  
当然,除了 express 以外,也要引入 socket.io 模块并绑定到服务器 。  
建立连接  
服务起好了,怎么建立连接呢?  
io.on( 'connection', function(socket){  
//do something  
});  
就…这样…?  
昂 。  
你没有看错,我也没有写错,这里对应前端逻辑的:  
varsocket = io.connect();socket.on( 'connect', function(){  
//do something  
});  
连接建立了以后,所有关于 socket 活动的逻辑就可以开始写了 。(FYI:当然,是写在这个 connection 事件的回调里面)  

本地连接在哪里 wifi怎么办理和安装


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。