码迷,mamicode.com
首页 > Web开发 > 详细

node.js模拟抄表 tcp服务端和客户端

时间:2015-11-18 10:28:25      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

2015-11-18 09:38:01

服务端

var net = require(‘net‘);

var server = net.createServer(function (socket) {
    socket.on(‘data‘, function (data) {
        console.log(data);
        // data = JSON.parse(data);
        console.log(‘此次需要的类型是:‘ + data.transType);
        if (data.order == ‘order1‘ && data.transType == ‘time‘) {
            var time = new Date();
            data.time = time.getMinutes().toString() + ‘:‘ + time.getSeconds().toString() + ‘.‘ + time.getMilliseconds().toString();
            data.transType = ‘time‘;
            // console.log(‘data:‘);
            console.log(data);
            console.log(‘发回时间 ‘ + data.time);
            data = JSON.stringify(data);
            // console.log(typeof data);
            // console.log(‘data:‘);
            console.log(data);            
            socket.write(data);
        } else if (data.transType == ‘result‘) {
            var num = 0;
            for (var i = 0 ; i < 10 ; i++) {
                num = num + i;
            }
            num = num + parseInt(Math.random() * 10);
            data.result = num;
            console.log(‘发回结果 ‘ + data.result);
            data = JSON.stringify(data);
            socket.write(data);
        }
    })

    socket.on(‘end‘, function () {
        console.log(‘客户端断开连接\n‘);
    })

    socket.on(‘error‘, function (data) {
        console.log(data);
        console.log(‘客户端错误‘);
    })

});

server.listen(8124, function() {
    console.log(‘服务端开启‘);
})

客户端

var net = require(‘net‘);

var client = net.connect({port:8124}, function() {
    console.log(‘客户端连接‘);

    // setInterval(function() {
        var time = new Date();
        var a = {};
        a.order = ‘order1‘;
        a.transType = ‘time‘;
        var a = JSON.stringify(a);
        // a.setEncoding(‘utf-8‘);
        console.log(a);
        client.write(a);
        // }, 1000);
});

client.on(‘data‘, function(data) {
    // console.log(‘data:‘);
    // console.log(data);
    data = data.toString("utf-8");
    data = JSON.parse(data);
    // console.log(data);
    if(data.transType == ‘time‘) {
        console.log(‘抄表需要时间:‘ + data.time);
        data.transType = ‘result‘;
        data = JSON.stringify(data);
        client.write(data);
        // console.log(‘需要结果‘);
    } else if (data.transType == ‘result‘) {
        console.log(‘抄表结果:‘ + data.result + ‘\n‘);
        // client.end();
        // console.log(‘data:‘);       
        // console.log(data);
    }
});

client.on(‘end‘, function() {
    console.log(‘断开连接‘);
})

client.on(‘error‘, function(data) {
    console.log(data);
    console.log(‘错误‘);
})

 

node.js模拟抄表 tcp服务端和客户端

标签:

原文地址:http://www.cnblogs.com/lswit/p/4973530.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!