参考node文档地址 nodejs.cn/api/net.html
server 模块
//
//引入net模块
var net = require("net");
//创建一个net。server用来监听,当链接尽量的时候,就会调用我们的函数
//client_sock ,就是我们的 socket就是与客户端通讯建立链接配对的socket
//client_sock 就是和客户端通讯的net.Socket
var server = net.createServer(
function(client_sock){
console.log("client host" ,client_sock.remoteAddress);
console.log("client port" ,client_sock.remotePort);
//data 默认是Hex格式,如果你强制设置为utf8,那么底层会先转换utf8的字符串,传给你
client_sock.setEncoding("utf8");
//客户端
client_sock.on("close",function(){
console.log("close client_sock");
});
//接受到客户端
client_sock.on("data",function(data){
console.log(data);
console.log("data client_sock date="+data);
client_sock.write("goodbye");
client_sock.end();
});
client_sock.on("error",function(){
console.log("error client_sock");
});
}
);
server.on("listening",function(){
console.log("server listening ....");
})
server.on("error",function(){
console.log("server error log");
})
server.on("close",function(){
console.log("server stop listener");
})
//编写代码 指示这个server监听到哪个端口上面
//127.0.0.1 6080
//node 就会来监听我们的server,等待链接接入
server.listen({
port: 6080,
host: "127.0.0.1",
exclusive:true,//独占模式
}
);
//server.unref();//停止node 对server的监听事件
server.close();
//
//
//
client 模块
var net = require("net");
// 返回net.socket 需要监听一些基本事件
var socket = net.connect(
{
port:6080,
host:"127.0.0.1",
},
function(){
console.log("conneted to server !");
}
)
socket.on("connect",function(){
console.log("connet~~~~~~~~~")
//在这里我们可以发送数据
socket.write("Hhello","utf8");
socket.setEncoding("utf8");
});
socket.on("error",
function(e)
{
console.log(e);
}
);
socket.on("close",function(){
console.log("error -> close");
}
);
socket.on("end",function(){
console.log("end event");
})
socket.on("data",function(data){
console.log(data);
console.log("host="+socket.remoteAddress);
console.log("port="+socket.remotePort)
}
)
//