사용자 정의 function (name,data,callback)
을 정의 할 수있는 방법이 있으며 클라이언트가 함수 호출을 보낼 때 socket.io에 의해 호출됩니까?Socket.IO : socket.on을 사용하는 대신 사용자 정의 함수 호출
socket.on(name,function(data,callback){...})
대신 socket.io가 내 기능을 호출해야합니다. 이렇게하면 모든 socket.io 함수에 필요한 로직을 구현하는 것이 훨씬 쉬워지고 각 연결에서 전체 스택의 스택에 socket.on
을 호출 할 필요가 없습니다.
socket.io wiki를 확인했지만 관련 항목을 찾지 못했습니다.
나는 이처럼 socket.io 위에 "rpc 서버"를 구현할 수 있지만 socket.io의 기본 방법을 사용하는 것이 더 낫다는 것을 알고있다.
socket.on('rpc',function(data,callback){ /* e.g. data.name for function name, data.data for the actual data */});
'socket.send'는 데이터와 콜백의 두 매개 변수만을 지원합니다. 그러나 콜백은 도청됩니다 (버그 보고서를 여기에 제출하십시오 : https://github.com/LearnBoost/socket.io/issues/645). 나는 당신이 지금 당장 제안한 것처럼 그것을 실제로하고있다 (bugfix로). 나는'socket.json.send ([name, data], cb)'와 함께 보낸다. (json message flag) – Eliasdx
흠, 아마도'send'는 콜백을하지 않아도 될지 모르겠습니다. 당신은 언제나 한 바인딩을 가질 것이므로 앞으로 'emit'으로 되돌릴 수 있으며, 앞으로는 쉽게 변경할 수 있습니다. 미학 이외의 '방출'을 사용하지 않은 다른 이유는 무엇입니까? –
??? 어떻게 서버 측 *에서 handleMessage() 함수 *가 클라이언트 측에서'callback' *을 호출 할 수있을 것이라고 가정합니까? ????? – cibercitizen1