저는 node.js의 초보자이며받는 사람에 따라 다른 답변을 줄 TCP 서버를 만들려고합니다.nodejs와의 데이터 및 문자열 비교
다음은 서버 측 :
var net = require('net');
var server = net.createServer(function(c) {
console.log('socket opened');
c.setEncoding('utf8');
c.on('end', function() {
console.log('connection/socket closed');
});
c.on('data', function(data) {
console.log('Data:'+data);
if(data.toString() == "open"){
c.write('Answer: opened');
}else if(data.toString() === "add"){
c.write('Answer: added');
}else if(data.toString() === "process"){
c.write('Answer: processed');
}
});
});
server.listen(8080, function() { // start server (port 8080)
console.log('server started');
});
단순히 시도하고 내 코드가 작동하는지 확인 텔넷을 사용합니다. 기본적으로 나는 그에게 'open'을 보내면 서버가 'open'이라고 응답하기를 원합니다. 'add'를 보내면 'added'... 나는 왜 작동하지 않을 지 모르겠다. 나는 이미 한 시간 동안 노력해 왔지만, 내가 만든 간단한 실수 일 것이라고 확신하지만이 간단한 에코 서버가 제대로 작동하지 않는 것을 볼 수는 없다.
를 사용한다 (이 하나의 경우에 특정한 만이 아니라 단점) 모든 경우를 잡으려고 ... 그리고 누군가가'netcat'를 사용하고 응용 프로그램 것 break ... 실제로는'data.toString(). replace (/ \ r? \ n $ /, '') === 'open''이되어야합니다. – alex