如何用node.js实现向tcp服务器间隔一段时间发送数据?

创建的tcp服务器,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);
        //将温湿度数据存入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);

创建的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');
});
阅读 2.9k
3 个回答

服务端结果
clipboard.png
客户端结果

clipboard.png

服务端代码

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);
});

使用定时器呗

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题