2014-04-12 5 views
0

socket.io-java-client 라이브러리를 사용하여 Android 애플리케이션을 socket.io/node.js 서버에 연결합니다.socket.io-java-client onMessage() 서명

public void onMessage(JSONObject json, IOAcknowledge ack) 

public void onMessage(String data, IOAcknowledge ack) 

가 어떻게 이러한 방법을 제어하는 ​​실행 경우 : GitHub의 페이지는 message 이벤트가 수신 될 때 실행될 수있는 두 가지 방법이있다라고? 첫 번째 실행 (매개 변수로 JSONObject 걸림)을 실행하고 대신 두 번째 실행을 계속 실행합니다.

내 서버 쪽에서는 socket.emit()socket.send()으로 바꾸고 처음으로 onMessage()을 실행하려고 시도했지만 작동하지 않았습니다. 처음으로 강제로 서버 쪽에서해야 할 일이 있습니까? onMessage()?

socket.on('sendVerificationCode', function(data) { 
    socket.send(JSON.stringify(VerifyObject.sendVerificationCode(), null, 3)); 
}); 

답변

0

는 서버 측에서이 작업을 수행 : JSON 매개 변수를

socket.json.send({property1: 'some value', property2: 'another value'}); 

그리고 지금 onMessage()가 실행 여기에

내가 서버에서 메시지를 보내고있다 방법의 예입니다.

+0

나는 단지 객체를'JSONObject'로 수동으로 파싱 할 수 있다는 것을 알고있다. 질문의 목적은 왜'socket.io-java-client'가이 메소드를 처음에 실행하는지 이해하는 것이 었습니다. – faridghar

+0

socket.send (string)을 사용할 때 객체를 문자열로 지정하기 때문에 두 번째가 실행된다고 생각합니다. JSON을 보내면 첫 번째 테스트에서는 –

+0

이 실행됩니다. 테스트를 마쳤습니다. 서버 측에서'JSON.stringify()'를 사용할 때'onMessage (String, IOAcknowledge)'메소드는 Android 디바이스에서 실행됩니다. 서버 측에서'JSON.stringify()'를 사용하지 않으면 안드로이드 장치에서'on (String, IOAcknowledge, Object)'메소드가 실행됩니다. 두 경우 모두 onMessage (JSONObject, IWAcknowledge)를 실행할 수는 없습니다. – faridghar

관련 문제