man*_*nzt 6 javascript sockets tcp node.js iot
我使用 net 模块创建了一个服务器:
// Creating and connecting with server
const net = require('net');
const server = net.createServer(); //Creating server
//Connecting with server
server.on('connection', function (socket) {
let remoteAddress = `${socket.remoteAddress},${socket.remotePort}`
console.log(remoteAddress)
console.log(`connection is established... ${Date.now()} \n `);
socket.write(`connection is established...${Date.now()} \n`);
//Receiving and Sending payload from/to client
socket.on('data', async function (payload) {
console.log("payload from client",payload)
socket.write(`acknowledge : ${payload}`);
});
//Close connection
socket.on('close', function () {
console.log('Server Connection Closed');
});
//Server error
socket.on('error', function (err) {
console.log("Caught flash policy server socket error: ")
console.log(err.stack)
});
});
server.listen(8001, function () {
console.log('Server Listing on Port 8001');
})
Run Code Online (Sandbox Code Playgroud)
我将此代码部署到 AWS EC2,当我尝试连接 telnet 客户端时(telnet ec2_ip 8001),它最初可以正常工作,但一段时间后它会出现以下错误。
当我尝试使用 ec2 IP 地址和端口 8001 连接真正的 IOT 滑板车时,它甚至一秒钟都没有连接。

谁能告诉我我做错了什么吗?
注:我对物联网了解不多。这是我第一次将 IoT 滑板车与 Nodejs 连接。
如果不查看更多代码或获得更多解释,很难确切地知道您的问题是什么。就像你的真实代码中发生了什么一样?日志似乎表明您在初始连接后正在对另一个服务进行出站调用。如果是这种情况,您是否正确处理依赖项的错误情况?未处理的异常会终止您的服务器,并且需要重新启动才能再次工作。如果您使用的依赖项失败,例如数据库、其他服务器、配置文件等在您的滑板车上失败,这可能就是它在不允许单个连接的情况下失败的原因。但在不了解有关应用程序和架构的更多细节的情况下,目前这只是疯狂的猜测。
您的服务器示例代码看起来不错。只要您在 AWS 的路由配置中打开该端口上的流量,它就应该响应。可能你只是耗尽了连接,但这又需要我了解更多信息才能给你一个明确的答案。
我的建议是检查您的依赖关系以及支持系统的日志。
| 归档时间: |
|
| 查看次数: |
321 次 |
| 最近记录: |