nowelium / socket.io-titanium

socket.io for titanium mobile
http://youtu.be/10ogNjWCpyc
Other
136 stars 34 forks source link

socket.io 0.7 #2

Closed jdponomarev closed 12 years ago

jdponomarev commented 12 years ago

Hi Yusuke Hata,

Are you planning to release support for socket.io v0.7?

nowelium commented 12 years ago

not yet planning... It'll become early in November.

do you need it right away?

jdponomarev commented 12 years ago

Yes, I am working on it by myself right now, but I am not sure if I would be able to finish the work well. Would appreciate if you have anything to commit.

nowelium commented 12 years ago

i just write socket-io-0.8.5 for titanium

https://github.com/nowelium/socket.io-titanium/commit/a8045bf6390cba23155ae71145455f24a79d67dd https://github.com/nowelium/socket.io-titanium/tags

socket.io v0.7:: just a moment, please.

jdponomarev commented 12 years ago

Thanks for the quick response! I've tried it and I get an error right after recieving the response from the server.

I guess that is a sdk problem, what's the version of sdk you are using?

Here is the full log of the error.

D/TiHttpClient( 895): (TiHttpClient-10) [68,38470] Setting ready state to 2 D/TiHttpClient( 895): (TiHttpClient-10) [46,38516] Setting ready state to 3 D/TiHttpClient( 895): (TiHttpClient-10) [31,38547] Setting ready state to 4 E/KrollMethod( 895): (kroll$2: app://win_ti.js) [1250,39797] Exception calling kroll method parse, invocation: null ] E/KrollMethod( 895): java.lang.NullPointerException E/KrollMethod( 895): at ti.modules.titanium.json.JSONModuleBindingGen$2.invoke(JSONModuleBindingGen.java:130) E/KrollMethod( 895): at org.appcelerator.kroll.KrollMethod.call(KrollMethod.java:51) E/KrollMethod( 895): at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701) E/KrollMethod( 895): at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854) E/KrollMethod( 895): at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164) E/KrollMethod( 895): at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426) E/KrollMethod( 895): at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3177) E/KrollMethod( 895): at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162) E/KrollMethod( 895): at org.appcelerator.titanium.kroll.KrollCallback.callSync(KrollCallback.java:139) E/KrollMethod( 895): at org.appcelerator.titanium.kroll.KrollCallback$1.run(KrollCallback.java:164) E/KrollMethod( 895): at android.os.Handler.handleCallback(Handler.java:587) E/KrollMethod( 895): at android.os.Handler.dispatchMessage(Handler.java:92) E/KrollMethod( 895): at android.os.Looper.loop(Looper.java:123)

nowelium commented 12 years ago

i'm using timobsdk 1.7.2 i don't know error message it.

please try

shell > cd ${yourproj}
shell > rm -rf build/*
shell > mkdir build/android
shell > mkdir build/iphone
shell > titanium run --platform=android

titanium command: bash alias

alias titanium="/Library/Application\ Support/Titanium/mobilesdk/osx/1.7.1/titanium.py"
jdponomarev commented 12 years ago

Hi Yusuke, I've figured out the problem. I've tested it on android, LG P500, don't know if this occurs on iOS. In parser.js in function parser.decodePacket I monkeypatched

var opts = JSON.parse(data);

to var opts=eval('('+data+')');

and it's ok.

I'm using sdk 1.8 because of some issues with require() in 1.7.3

nowelium commented 12 years ago

thank you for your information and patch. I'll be try to run sdk 1.8(and android device tests)

If there is no good code, it will commit your path. https://github.com/nowelium/socket.io-titanium/issues/3