【发布时间】:2022-01-04 06:04:00
【问题描述】:
所以我遇到了一个问题。我正在尝试将 {id} 发送到我的其余 API(节点 js),作为响应,我在套接字上获取数据。
问题: 对于前 5-6 次,它工作得非常好并显示 Id 并将数据发送回套接字。但是在 6 次之后它没有得到 ID。 我试过这个https://github.com/socketio/socket.io/issues/1145 和https://github.com/socketio/socket.io/issues/1145 但没有解决问题。 在重新编译服务器时,它显示了我在 6 次后输入的先前 {ids}。它就像在 5-6 次后将 id 存储在某种形式的缓存中一样。 这是我的 API 路线。 //这条路线只得到{id} 5-6次。5-6次后它不显示receing {id}。
const express = require("express");
var closeFlag = false;
const PORT = process.env.SERVER_PORT; //|| 3000;
const app = express();
var count = 1;
http = require('http');
http.globalAgent.maxSockets = 100;
http.Agent.maxSockets = 100;
const serverTCP = http.createServer(app)
// const tcpsock = require("socket.io")(serverTCP)
const tcpsock = require('socket.io')(serverTCP, {
cors: {
origin: '*',
}
, perMessageDeflate: false
});
app.post("/getchanneldata", (req, res) => {
console.log("count : "+count)
count++;// for debugging purpose
closeFlag = false;
var message = (req.body.val).toString()
console.log("message : "+message);
chanId = message;
client = dgram.createSocket({ type: 'udp4', reuseAddr: true });
client.on('listening', () => {
const address = client.address();
});
client.on('message', function (message1, remote) {
var arr = message1.toString().split(',');
}
});
client.send(message, 0, message.length, UDP_PORT, UDP_HOST, function (err, bytes) {
if (err) throw err;
console.log(message);
console.log('UDP client message sent to ' + UDP_HOST + ':' + UDP_PORT);
// message="";
});
client.on('disconnect', (msg) => {
client.Diconnected()
client.log(client.client)
})
}
);
【问题讨论】:
标签: node.js http websocket socket.io