我正在向我的客户端输入一个函数和参数(lookupById和一个数字)。然后,服务器访问存储数据的模块,并应通过socket.write将正确的信息返回给客户端。当我按姓氏查找时,此方法有效,但当我按ID查找时,此方法无效。我知道我的模块很好,所以我不知道这个错误是什么意思。
[ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type
string or Buffer. Received type undefined
我的输入数据被转换为字符串,然后拆分为一个数组,从该数组中,我将输入解析为适当的命令形式。这是我的代码:
const net = require('net');
const employees = require('./employeeModule');
const server = net.createServer(
(socket) => {
console.log("Client connection...");
socket.on('end', () => {
console.log("Client disconnected...");
});
socket.on('data', (data) => {
nData = data.toString();
console.log(" Received: ", data.toString());
args = nData.split(" ");
func = args[2];
vars = args[3];
vars2 = args[4];
if (func == 'lookupByLastName'){
socket.write(JSON.stringify(employees[func](vars)));
}
if (func == 'lookupById'){
socket.write(JSON.stringify(employees[func](vars)));
}
});
}
);
server.listen(3000, function() {
console.log("Listening for Connections");
});