점점 더 가까워지고 있습니다. node.js에서 전역 객체와 로컬 객체가 어떻게 작동하는지 이해하는 데는 다소 어려움이 있습니다.node.js에서 로컬 변수와 전역 변수를 올바르게 사용하기
node.js에 대한 이해에서 많은 서버가 서버에 액세스하지만 한 번만 인스턴스화해야합니다. 이렇게하면 혼란스럽고 다른 서버가 어떻게 작동하는지 알 수 없습니다 (웹 소켓 서버를 사용하고 있습니다. https://npmjs.org/package/ws는)
는 또한 이해 : Node.js를 지금의
var _global='global';
function testing(){
var _local='local';
console.log(_global+' & '+_local);// 'global & local'
return;}
testing();
console.log(_global+' & '+_local);// 'global & undefined'
을 나는 그게 각 사람의 고유 한 변수 있다는 의미 서버 내부에 그 _local var에 선언하면? 나는 글로벌 서버 만드는 경우
: 서버에 연결 페이지
var wss=new WebSocketServer({host:port});
wss.on('connection',function(soc){
soc['uid']=Math.floor(Math.random()*101);
console.dir(soc);
});
탐색을, 나는 (내 퍼티 ssh 클라이언트에) 첨부 된 ID와 웹 소켓 객체를 참조하십시오.
그런 다음 웹 소켓 객체가 이제 새로운 객체없이 기존 아이디 나는 두 개의 연결이 표시되지 않는 단지 새처럼 보이는 것을 두 번째 사용자가 방문하는 내가 (SSH에서)를 참조 해당 페이지 ... 경우
그래서 내가 생각하고 있었어요
이 소켓 서버를 http.server에 놓고 ajax로 서버를 호출하여 로컬로 설정해야합니까?
클라이언트 :
var xhr=XHRobject();
xhr.open("POST","mysite.com:8005",true);
xhr.setRequestHeader("Content-Type","text/csv");
xhr.send('create server');
서버 : 나는 WebSocketServer 그래서 난 액세스 할 필요가 연결된 WebSocket을의 목록 wss.clients 목록이로 생각하지만이 문제를 만들 것
var http = require('http');
http.createServer(function(req,res){
req.on('data',function(chunk){
chunk=chunk.toString('utf8');
if(chunk==='create server'){
wss=new WebSocketServer({host:port});//etc..
}
});
});
하나 이상의 서버가 있어야한다고 생각하지 않습니까?
변수 (var localisedsocket)를 선언하고 wss.on ('연결', 함수 (soc) {soc = localisedsocket;})을 넣으면; http 서버 내부에서 WebSocketServer를 여는 모든 사용자는 더 이상 소켓 객체를 덮어 쓰지 않을까요?
나는이 이론을 올바르게 알고 있습니까?
왜 var을 가능한 한 낮 춥니 까? –
변수의 범위를 제한하려면 의도하지 않은 변수 공유 및 메모리 누출을 피하십시오. – alex