即使服务器使用nodejs停止,Tcp客户端也会将数据发送到服务器

时间:2017-12-18 12:06:10

标签: tcp tcpclient tcpserver

我是编程新手。使用node.js开发TCP客户端服务器应用程序。启动TCP服务器,然后启动客户端。现在客户端每隔10ms继续发送每个数据包11k字节的数据。过了一段时间虽然客户端正在发送数据包,但服务器没有接收数据。

TCP服务器代码

   var net = require('net');
    var server = net.createServer();  
    var count=0;
    var totalrcvdbytes =0;
    var totalcount=0
    var conn;
    var port = 9000

    server.on('connection', onClientConnected);

    server.listen(port, function() {  
      //console.log('server listening to client on port %j', server.address());
     console.log('server listening to client on port ' + port)

    });

    function onClientConnected(conn) {  

    var remoteAddress = conn.remoteAddress + ':' + conn.remotePort;
    count=1  
    var time = new Date();
    timestamp = time.getHours() + ":" + time.getMinutes() + ":" + 
    time.getSeconds()  
    conn.write("Server Accepted connection")  
    conn.on('data', onConnData);
    conn.once('close', onConnClose);
    conn.on('error', onConnError);

    setInterval(Callbacktimer,1000)

    function onConnData(d) {

     var time = new Date();
     timestamp = time.getHours() + ":" + time.getMinutes() + ":" + 
     time.getSeconds();
     count = count + 1          
     totalrcvdbytes = totalrcvdbytes + d.byteLength;    
    }
    function onConnClose() {
     console.log("\n")
     console.log('connection from %s closed', remoteAddress);
    }
    function onConnError(err) {
     if(err.code == 'EADDRINUSE') {
        console.log('Connection %s error: %s',remoteAddress ,err.message)
       } 
       else
       {
        console.log('Connection %s error: %s',remoteAddress ,err.message)
       }
    }
    }
    function Callbacktimer() {
    console.log("Data Rcvd:",totalrcvdbytes 
    }

客户端代码:

    var net = require('net');
    var sleep = require('sleep');
    var client = new net.Socket();

    var pktbuffer;

    function createpktbuff()
    {
        var str = "t";  
        pktbuffer = str.repeat(11405);
        return pktbuffer;
    }

    client.connect(9000, '10.121.56.99', function() {   
        //client.write('Hello, server! Love, Client.');

    });


    client.on('data', function(data) {

        console.log('Connected and Received: ' + data);
        var count =1;       
        while (1) 
        {
        var pkt = "DataReady" + createpktbuff() + " Datacompleted";             
            client.write(pkt);
            sleep.msleep(10)
            console.log('Sent %d  bytes in  packet Num : %d ',      pkt.toString().length,count);
            count = count +1                                
            } 

        }
        //client.destroy(); //disabled for test purpose

    });

    client.on('close', function() {
        console.log('Connection closed');
    });

0 个答案:

没有答案