今日份的Node.js已就位—实现C/S通信(04)

博客介绍用Node.js实现C/S架构通信。此前C语言版本基于TCP/IP连接实现通信,而用Node.js更简单,了解Net模块用法即可。还分别给出服务器端和客户端代码,解析了代码逻辑,如服务器端用net模块创建server、绑定回调监听事件,客户端请求连接并进行事件绑定。

目录

今日份的Node.js已就位—简介(01)

今日份的Node.js已就位—Http模块(02)

今日份的Node.js已就位—自定义模块(03)

今日份的Node.js已就位—实现C/S通信(04)

今日份的Node.js已就位—Express框架(05)

前言

C语言版本的客户端(C)和服务器(S)进行通信已经实现,其根本是建立在TCP/IP连接的基础上,完成三次握手实现面向连接,这次用Node.js实现C/S架构,其比C要简单得多,了解Net模块的用法就会很轻松的实现,如果require这个模块失败,即还没有这个模块,先用如下命令进行安装。

    npm install net

服务器端代码

var net = require("net");

net.createServer(function(connection) {
	connection.on("data", function(data) {
		console.log("client send -->" + data);
	});
	
	connection.on("end", function() {
		console.log("client send message end");
	});
	connection.on("close", function() {
		console.log("client closed");
	})
	connection.write("hello clilent");
	
}).listen(8888);

结果演示:

代码解析:

  1. 首先申请使用net模块,之前的Http.Server继承自net.Server;
  2. 创建一个server,并绑定回调函数;
  3. 回调函数中connection即socket,用来监听client端的事件;
  4. connection.on()将事件和回调函数绑定在一起;
  5. connection.write()向client发送消息。

客户极端代码

var net = require("net");

var client = net.createConnection(8888,"127.0.0.1");

client.on("connect", function() {
	console.log("Being to establish connect");
});

client.on("close", function() {
	console.log("close connection");
});

client.on("data", function(data) {
	console.log("receive-->" + data);
});

client.end("Hello Server");

结果演示:

代码解析:

  1. 同server端首先require net模块;
  2. 与server请求建立连接,指定port、host;
  3. 事件绑定,首先会触发connec事件;
  4. client.end当连接另一侧发送了 FIN 包的时候触发。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值