Node.js的socket通信和C++、Java的非常相像,学过这两种语言的socket通信的同学可以很快就掌握好Node.js的socket通信。下面我们以实现一个Echo服务器的服务端和客户端为目的,学习一下Node.js的socket通信。
所谓的Echo服务器指的是这样一种服务器:客户端发送一条消息给服务端,服务端就把这条消息原封不动地返回给客户端。
服务端
服务端的实现分为三步:
- 通过createServer创建一个server服务端
- 使用server的listen方法监听指定端口,等待客户端接入
- 通过socket对象来监听data、close等事件,用以完成与客户端的交互
下面是服务端代码:
/**
* Created by Administrator on 2015/9/8.
*/
var net = require('net');
// 服务器IP
var HOST = '127.0.0.1';
// 端口号
var PORT = 7001;
// 创建一个TCP服务器实例,调用listen函数开始监听指定端口
// 传入net.createServer()的回调函数将作为”connection“事件的处理函数
// 在每一个“connection”事件中,该回调函数接收到的socket对象是唯一的
net.createServer(function(sock) {
// 获得了一个socket连接,将客户端输出来
console.log('CONNECTED: '