0
현재 NodeJS를 사용 중이고 여러 개의 udp4 소켓 배열을 만들고 싶습니다.어떤 UDP 소켓이 패킷을 수신하는지 추적하십시오.
var sockets = [];
function startSocket(socketObject) {
socketObject.HandleIncomingPacket = function(buffer, header) {
if(header.address === this.ip) {
console.log("ID: "+this.id+" | right IP");
}else{
console.log("ID: "+this.id+" | wrong IP. IP expected: "+this.ip+", given: "+header.address);
}
}
socketObject.socket = dgram.createSocket("udp4");
socketObject.socket.on("message", socketObject.HandleIncomingPacket);
socketObject.socket.bind(socketObject.port);
sockets[socketObject.id] = socketObject;
}
(읽기 : 없음 오류를) 잘 작동 {ip: "127.0.0.1", port: 1234}
객체와 함수를 호출 :이 메시지를 수신하고, 그래서 다음과 같이 내가 모든 것을 저장하는 것을 시도하고있는 소켓 나에게 중요하지만 들어오는 패킷에, I 다음 출력을 수신하십시오. ID: undefined | wrong IP. IP expected: undefined, given: 127.0.0.1
어떻게 this
이이 컨텍스트에서 정의되지 않았습니까? 내가 지금하려는 것처럼 할 수있는 일이 가능한가? 나는 아마 뭔가를 놓치고있어.
이 정보는 유효한 JavaScript입니까? 어떻게 될지 모르겠다. –
나는 내 질문에 지정된대로 객체와 함께 'startSocket' 함수를 호출하고 실행합니다. 이게 어떻게 잘못 됐는지 나는 모르겠다. –
'socketObject.HandleIncomingPacket (buffer, header) {'는별로 의미가 없습니다. 여러분이 함수를 정의하려는 것처럼 보이지만'function' 키워드는 없습니다. –