Node.js 拒绝套接字上的无效/意外请求

Node.js 拒绝套接字上的无效/意外请求,node.js,sockets,Node.js,Sockets,如何确保不遵循套接字协议的任何无效或不需要的请求被拒绝,并且我的套接字未关闭 考虑一个简单的例子: var net=require('net'); net.createServer(函数(套接字){ socket.on('data',函数(data){ var parsedData=JSON.parse(data.toString()); }); }).听(5555); 监听(1337,'127.0.0.1')整个问题出现了,因为我得到了套接字响应,将其转换为字符串,然后将其解析为JSON。现

如何确保不遵循套接字协议的任何无效或不需要的请求被拒绝,并且我的套接字未关闭

考虑一个简单的例子:

var net=require('net');
net.createServer(函数(套接字){
socket.on('data',函数(data){
var parsedData=JSON.parse(data.toString());
});
}).听(5555);

监听(1337,'127.0.0.1')整个问题出现了,因为我得到了套接字响应,将其转换为字符串,然后将其解析为JSON。现在在我的例子中,我要么保证传入的数据是有效的JSON字符串,要么发现浏览器正在向该套接字发送请求


为了实现真正的快速修复,我正在从传入数据中提取第一个单词,并检查它是否为“GET”(浏览器发送的),如果它的计算结果为true,则只需像前面一样不做其他操作。捕获JSON.parse错误也是更好的解决方案。

该示例代码不可能导致该错误。当你遇到那个错误时,你实际运行的代码是什么?@DanD。这有帮助吗?而这个:。但我没有在代码中做任何肤浅的事情。我的代码就是这个代码。@DanD。非常感谢。顺便说一句:D,你给了我一个好的开始。再次感谢:)如果你收到一个无效的请求。你应该把插座合上。那个客户有点不对劲。你不想继续和他说话。@EJP,我知道,但我仍然想拒绝这个请求并继续那个套接字(我已经解释了原因)。有什么办法吗?