4.nodejs权威指南--TCP和UDP
1. TCP和UDP
1.1 TCP服务端
var net = require('net');
var server = net.createServer();
server.on('connection',function(socket){
socket.setEncoding('utf8');
socket.on('data',function(data){
console.log(data.toString());
});
socket.on('end',function(){
console.log('end');
});
});
server.listen(8765,'127.0.0.1');
1.2 TCP客户端
var net = require('net');
var client = new net.Socket();
client.setEncoding('utf8');
client.connect(8765,'127.0.0.1',function(){
console.log('connect');
client.write('to server');
client.end('end');
});
client.on('data',function(data){
console.log('receive data from server');
});
1.3 UDP服务器
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
server.on('message',function(msg,rinfo){
console.log(msg);
var buf = new Buffer('测试');
server.send(buf,0,buf.length,rinfo.port,rinfo.address);
});
server.on('listening',function(){
console.log('listen');
});
server.bind(12345,'127.0.0.1');
1.4 UDP客户端
server.on('message',function(msg,rinfo){
console.log(msg);
var buf = new Buffer('测试');
server.send(buf,0,buf.length,rinfo.port,rinfo.address);
});
4.nodejs权威指南--TCP和UDP的更多相关文章
- 1.nodejs权威指南--基础知识
1. 基础知识 1.1 全局作用域及函数 1.1.1 全局作用域 在nodejs中,定义了一个global对象,代表nodejs中的全局命名空间,任何全局变量.函数或对象都是该对象的一个属性值 1.1 ...
- 9.nodejs权威指南--Socket.IO
1. Socket.IO 1.1 服务器 var http = require('http'); var sio = require('socket.io'); var fs = require('f ...
- 8.nodejs权威指南--MongoDB
1. MongoDB var mongo = require('mongodb'); var host = '127.0.0.1'; var port = mongo.Connecton.DEFAUL ...
- 7.nodejs权威指南--加密与压缩
1. 加密与压缩 1.1 加密 var crypto = require('crypto'); var text = "12345678"; var hasher = crypto ...
- 6.nodejs权威指南--进程
1. 进程 var net = require('net'); var cluster = require('cluster'); cluster.setupMaster({ exec:'child. ...
- 5.nodejs权威指南--HTTP
1. HTTP 1.1 服务器 var http = require('http'); var server = http.createServer(function(req,rsp){ req.on ...
- 3.nodejs权威指南--文件
1. 文件 1.1 读写整个文件 1.1.1 读 var fs = require('fs'); fs.readFile('./test.txt',function(err,data){ if(err ...
- 2.nodejs权威指南--Buffer
1. Buffer 1.1 创建 var buf1 = new Buffer(100); var buf2 = new Buffer([0,1,2]); var buf3 = new Buffer(' ...
- Node.js权威指南学习记录
学习nodeJS权威指南的学习记录 导航: 1.console模块 2.全局变量 3.Buffer对象 4.事件对象 5.网络请求 6.文件操作对象 一. COMMON.js的学习.(commonJS ...
随机推荐
- button 按钮
<!DOCTYPE html> <html> <body> <h1>我的第一段 JavaScript</h1> <p> Java ...
- maven 向本地私库导入jar
mvn install:install-file -DgroupId=<your_group_name> -DartifactId=<your_artifact_name> - ...
- 天翼宽带政企网关B2-1P 如何获得超级管理员账号?
RT 用useradmin没办法做NAT,想进telecomadmin里面看看,,,,,并且已经使用过nE7jA%5m这个密码登录,没有用! 求办法!!! 最佳答案 查找超级管理员密码方法: 1.用光 ...
- indexPathForCell returns nil since ios7
-(UITableViewCell*)GetCellFromTableView:(UITableView*)tableView Sender:(id)sender { CGPoint pos = [s ...
- AChartEngine方法的使用及事件汇总
前段时间接触了AChartEngine,在数据显示方面感觉非常好用,然后经过一段时间的接触,对于AChartEngine的扩展和使用有了一些整理和总结,本着技术共享的原则,分享给大家.我整理的东西都是 ...
- 自定义Listview
public class MyListView extends ListView { public MyListView(Context context) { super(context); } pu ...
- python spark 配置
前提:已经装好 java 1.8 和 hadoop 2.7 1. 下载解压放后的目录 /Users/gao/spark-1.4.1-bin-hadoop2.6 2. 在~/.bash_profile ...
- leetcode 100. Same Tree
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...
- 网络数据包发送工具PacketSender中文源码
在网上发现了一个好用的工具PacketSender,数据包发送器.对于写网络程序来说,有很大的便利性.虽然在linux下,netcat工具也很好用,但是这个也不错. 原本是英文的,给翻译了一下.这是基 ...
- 17.1---编写一个函数交换两个变量的值(CC150)
用^来操作: public static int[] exchangeAB(int[] AB){ AB[0] = AB[0] ^ AB[1]; AB[1] = AB[0] ^ AB[1]; AB[0] ...