Tôi đang học Node.js tại trường Cao đẳng, và đây là lần đầu tiên tôi học loại ngôn ngữ lập trình này. Tôi đã có một số lỗi trong nỗ lực của tôi về máy chủ trò chuyện. Khi tôi cố gắng kết nối một máy khách với máy chủ, kết nối sẽ đóng inmmediately và xuất hiện lỗi 'Chunk không phải chuỗi/bộ đệm không hợp lệ'. Tôi tải lên một số ảnh chụp màn hình và bạn có thể kiểm tra những gì là sai, bởi vì tôi đã suy nghĩ về nó một lúc và tôi không tìm thấy bất kỳ giải pháp.không hợp lệ chuỗi không-chuỗi/đệm Node.js
Mã của tôi trong Javascript:
var net = require('net');
var s = require
var sockets = [];
var nombres = [];
var nombresUsados = [];
console.log("Se ha iniciado el sevidor");
var server = net.createServer(function(socket){
socket.push(socket);
nombres.push("Cliente:" + sockets.indexOf(socket));
nombresUsados.push("Cliente:" + socket.indexOf(socket));
console.log("Cliente aceptado, nick:" + nombres[sockets.indexOf(socket)]);
socket.write("Bienvenido" + nombres[sockets.indexOf(socket)]+ "\n");
![enter image description here][2]socket.on('data', function(d){
var entrada = d.toString();
var UsuarioUnico = entrada.match(/^msg/);
var cambiarNick = entrada.match(/^nick/);
var quit = entrada.match(/^quit/);
if(cambiarNick == "nick"){
var repetido = 0;
var nombresSinNick = entrada.replace(cambiarNick, '');
for(var i = nombres.length-1; i<=0; i--){
if(nombresSinNick.substring(0,nombres[i].toString().length) == nombres[i].toString()){
socket.write("KO, escoja otro nombre\n")
repetido = 1;
}
};
if(repetido == 0){
nombres[sockets.indexOf(socket)] == nombresSinNick.trim();
process.on('uncaughtException', function(err){
socket.write("KO\n");
});
socket.write("OK. " + nombres[sockets.indexOf(socket)] + "\n");
console.log(nombresUsados[sockets.indexOf(socket)]) + "su nombre ha sido cambiado por:" + nombres[sockets.indexOf(socket)];
nombresUsados[sockets.indexOf(socket)] = nombresSinNick.trim();
}
}
else if (UsuarioUnico = "msg"){
var nombresSinMsg = entrada.replace(UsuarioUnico, '');
var encontrado = 0;
for(var i = nombres.length-1; i<=0; i--){
if(nombresSinMsg.substring(0,nombres[i].toString().length) == nombres[i].toString()){
var mensaje = nombresSinMsg.replace(nombres[i], '');
}
};
socket.on('end', function() { // CALLBACK: desconexión de cliente
if(quit == 'quit'){
var i = nombres[sockets.indexOf(socket)];
sockets.splice(i, 1);
console.log("Ha salido el usuario:" + nombres[sockets.indexOf(socket)]);
}
});
}
});
});
server.listen(9000);
cảm ơn, đó là lỗi. –
Xin chào @PabloMateos nếu câu trả lời này hoặc câu trả lời nào đã giải quyết được câu hỏi của bạn, vui lòng xem xét [chấp nhận câu hỏi] (http://meta.stackexchange.com/q/5234/179419) bằng cách nhấp vào dấu kiểm. Điều này cho thấy cộng đồng rộng lớn hơn mà bạn đã tìm thấy một giải pháp và mang lại một số danh tiếng cho cả người trả lời và bản thân bạn. Không có nghĩa vụ phải làm điều này. –