鍍金池/ 問答/HTML5  HTML/ 如何用node.js實現(xiàn)向tcp服務(wù)器間隔一段時間發(fā)送數(shù)據(jù)?

如何用node.js實現(xiàn)向tcp服務(wù)器間隔一段時間發(fā)送數(shù)據(jù)?

創(chuàng)建的tcp服務(wù)器,tcpserver:

var net = require('net')
var mysql = require('mysql');
var conn = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'',
    database:'gprs',
    port:3306
});
conn.connect();
net.createServer(function(socket){
    socket.on('data',function(data){
        console.log('got:',data.toString());
        var text = JSON.parse(data.toString());
        var arr = {};
        arr.tem = text.tem;
        arr.hum = text.hum;
        arr.illsum = text.illsum;

        console.log(arr);
        console.log(arr.tem);
        console.log(arr.hum);
        console.log(arr.illsum);
        //將溫濕度數(shù)據(jù)存入mysql
        conn.query('INSERT INTO gprsdata SET ?', arr, function(error,result,fields){
            if (error) throw error;
        });
    });
    socket.on(
        'end',function(data){
        console.log('end');
    });
    socket.write('Ready to receive your message!')
}).listen(4001);

創(chuàng)建的tcpclient.js:

const net = require('net');
const client = net.connect({port:4001},()=> {
    console.log("connected to server!");
client.write("{\"tem\":\"20\",\"hum\":\"30\",\"illsum\":\"473\"}");
});
client.on('data',(data) => {
    console.log(data.toString());
client.end();
});
client.on('end',() => {
    console.log('disconnected from server');
});
回答
編輯回答
失魂人

使用定時器唄

2018年4月5日 12:03
編輯回答
陪她鬧

可以,謝謝老哥抽空替我解答疑惑。

2017年9月18日 23:10
編輯回答
夢若殤

服務(wù)端結(jié)果
clipboard.png
客戶端結(jié)果

clipboard.png

服務(wù)端代碼

const net = require('net');

const server = net.createServer(client => {
  console.log('client connected');
  client.on('end', () => console.log('client disconnected'));
  client.on('data', (data) => console.log(data.toString()));
});

server.listen(8000, () => console.log('server listen on 8080'));

客戶端代碼

const net = require('net');

const client = net.createConnection({port: 8000}, () => {
  console.log('client connected');
  setInterval(() => client.write('1'), 1000);
});
2017年7月29日 09:57