node.js网络编程怎么学?

之前没学套接字编程,在看深入浅出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)函数在客户端套接字连接到服务端时被触发了?
还有上面代码实现 客户端套接字连接服务端 的部分在哪?客户端套接字和服务端套接字怎么区分。

阅读 3.2k
4 个回答

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


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() 
};

老哥,推荐你去看《7天学会nodejs》,讲的很详细,特别适合入门

先从基础的tcp、udp协议开始学起,学会网络基础知识。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题