当前位置:网站首页 / Node.js / 正文

[AY-Node.js]写给自己的NodeJs-通讯系统-tcp与udp开发与nodejs环境配置【一】[14]

时间:2015年10月26日 | 作者 : aaronyang | 分类 : Node.js | 浏览: 2651次 | 评论 0

net包-> tcp,dgram->udp包

demo1----简单的tcp


新建空白项目

blob.png

blob.png

blob.png

blob.png

新建t1.js

blob.png

右键环境

blob.png

打开设置:

blob.png

╮(╯▽╰)╭,这里竟然变了,不管他了。开始写代码吧

blob.png

设置快捷键

blob.png

blob.png

blob.png

调试快捷,输入内容,然后.log,按下tab键快速输入

log.gif

输入完代码:

/**
 * Created by aaronyang on 2015/10/26.
 */
var net=require('net');
var server=net.createServer(function(socket){
    console.log('客户端与服务器连接已建立');
});
server.listen(8888,'localhost',function(){
    console.log('服务器端开始监听');
})

blob.png

blob.png

2015年10月26日 ============== AYUI www.ayjs.net AY 杨洋原创编写,请不要转载谢谢===============

使用telnet测试tcp,需要打开该功能,确定后,需要重启电脑。

blob.png

打开cmd,输入telnet localhost 8888

24.gif

如果端口被占用,会产生错误代码EADDRINUSE,同时会触发error事件

server.on('error',function(err){
    if(e.code=='EADDRINUSE'){
        console.log('服务端地址及端口被占用');
    }
})

获取监听的地址server.address

/**
 * Created by aaronyang on 2015/10/26.
 */
var net=require('net');
var server=net.createServer(function(socket){
    console.log('客户端与服务器连接已建立');
});
server.listen(8888,'localhost',function(){
    address=server.address();
    console.log('服务器端开始监听:地址为%j',address);
})
server.on('error',function(err){
    if(e.code=='EADDRINUSE'){
        console.log('服务端地址及端口被占用');
    }
})

效果图:

blob.png

获得连接TCP服务器的客户端数量getConnections(function(err,count){ })

42.gif

我准备了2个cmd的命令窗口

blob.png

/**
 * Created by aaronyang on 2015/10/26.
 */
var net=require('net');
var server=net.createServer(function(socket){
    console.log('客户端与服务器连接已建立');
    server.getConnections(function (err, count) {
        console.log('当前存在%d个客户端连接', count);
        server.maxConnections=2;
        console.log('最大连接数%d',server.maxConnections);
    });
});
server.listen(8888,'localhost',function(){
    address=server.address();
    console.log('服务器端开始监听:地址为%j',address);
})
server.on('error',function(err){
    if(e.code=='EADDRINUSE'){
        console.log('服务端地址及端口被占用');
    }
})

4.gif

使用close方法拒绝新请求

var server=net.createServer(function(socket){
    console.log('客户端与服务器连接已建立');
    server.getConnections(function (err, count) {
        console.log('当前存在%d个客户端连接', count);
        server.maxConnections=2;
        console.log('最大连接数%d',server.maxConnections);
    });
    server.close(function () {
        console.log('服务器已关闭');
    })
});

在使用close方法,不会断开所有现存的客户端连接。当这些客户端连接被关闭时候,tcp服务器将被自动关闭,同时出发tcp服务器的close事件。

412.gif

第一个tcp客户端连接,调用了close方法,所以关闭了其他人的连接,等待客户端关闭时候,出发了tcp服务器端的close方法


2015年10月26日 ============== AYUI       www.ayjs.net      AY         杨洋原创编写,请不要转载谢谢===============




推荐您阅读更多有关于“nodejs,”的文章

猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

合肥科大智能常年招聘C# .NET CORE,vue前端,JAVA开发,有想换工作的私聊我AY唯一QQ:875556003和AY交流

抖音号:wpfui 工作是wpf,不接活,目前主要折腾maui

AYUI8社区版Github地址:前往获取

杨洋(AaronYang简称AY,安徽六安人)目前是个人,还没公司AY唯一QQ:875556003和AY交流

高中学历,2010年开始web开发,2015年1月17日开始,兴趣学习研究WPF

声明:AYUI7个人与商用免费,源码可购买。部分DEMO不免费.AY主要靠卖技术服务挣钱

不是从我处购买的ayui7源码,我不提供任何技术服务,如果你举报从哪里买的,我可以帮你转正为我的客户,并送demo

查看捐赠

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

vs2015 企业版密钥HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

vs2017 企业版密钥NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

标签列表