node 第三章 net模块搭建TCP_server_client

参考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)

    }
)

//

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值