首页 > 开发 > NodeJS > 正文

node.js网络编程怎么学?

2017-09-08 17:11:33  来源:网友分享

之前没学套接字编程,在看深入浅出node.js。看到网络编程这块,不知道如何下手,看node官方文档也不知道该怎么做。比如书上第一个例子:

var net = require('net')var server = net.createServer( function (socket){    socket.on('data',function(data){        socket.write("你好")    })    socket.on('end',function(){        console.log('连接断开')    })    socket.write("欢迎光临")} )server.listen(8124,function(){    console.log('server bound')})

书上利用Telnet工具作为客户端,输出
欢迎光临
hi
你好

上面代码有部分书上没解释,'data' 事件是在官网查到的,可有些太容易的官网估计也不会写
书上写connection:每个客户端套接字连接到服务端时触发,简洁写法为net.createSever(),最后一个参数触发。所以上面代码中的 function (socket)函数在客户端套接字连接到服务端时被触发了?
还有上面代码实现 客户端套接字连接服务端 的部分在哪?客户端套接字和服务端套接字怎么区分。

解决方案

给你注释一下吧,客户端和服务端

var server = net.createServer( function (socket){    socket.write("欢迎光临");//有一个客户端第一次连接时触发    socket.on('data',function(data){        console.log(data)//客户端发送的信息        socket.write("你好")//向客户端推送信息    })    socket.on('end',function(){        console.log('连接断开')//连接断开时触发    })} )

客户端

var socket = new WebSocket('ws://localhost:8080'); //初始化一个soket连接// 打开Socket 触发服务端端 “欢迎光临”socket.onopen = function(event) {   // 发送一个消息 触发服务端data事件     socket.send('向后台发送了一条消息');   //接收服务端推送的消息  “你好”  socket.onmessage = function(event) {     console.log('接收到了后台的消息',event);   };   //服务端关闭socket时触发  socket.onclose = function(event) {     console.log('后台关闭socket',event);   };   // 客户端关闭socket时触发 服务端 end事件 “连接断开”  //socket.close() };