BlueBox for iOS

Post here your questions about the Objective-C API for SFS2X

Moderators: Lapo, Bax

User avatar
A51Integrated
Posts: 240
Joined: 03 Jan 2012, 19:55
Location: Toronto, Canada
Contact:

Re: BlueBox for iOS

Postby A51Integrated » 29 Aug 2012, 23:26

I have a local installation and a server installation of 2.2.0 running and both work with BlueBox. I'd try the main forum since the guys who handle the server can take a better look at this than I can.
A51 Integrated
http://a51integrated.com / +1 416-703-2300
mmilen
Posts: 298
Joined: 09 Nov 2010, 00:48
Contact:

Re: BlueBox for iOS

Postby mmilen » 29 Aug 2012, 23:32

Unfortunately BlueBopx.war from patch 2.1.0 often without any patter will throw


19:24:47,118 ERROR [1963878523@qtp-1235930463-6] mortbay.log - /BlueBox/BlueBox.do
java.lang.IllegalArgumentException: Unexpected null or empty byte array!
at com.smartfoxserver.v2.protocol.SFSIoHandler.onDataRead(SFSIoHandler.java:81)
at com.smartfoxserver.v2.bluebox.BlueBox.doPost(BlueBox.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
at com.smartfoxserver.v2.bluebox.SessionFilter.doFilter(SessionFilter.java:141)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
User avatar
A51Integrated
Posts: 240
Joined: 03 Jan 2012, 19:55
Location: Toronto, Canada
Contact:

Re: BlueBox for iOS

Postby A51Integrated » 29 Aug 2012, 23:42

Well, you're now using a mix and match version of the server. So I'd try and track down the issue that makes 2.2.0 not work. As I've mentioned, I have two installs working fine. Post to the main forum so the guys can have a look.
A51 Integrated

http://a51integrated.com / +1 416-703-2300
mmilen
Posts: 298
Joined: 09 Nov 2010, 00:48
Contact:

Re: BlueBox for iOS

Postby mmilen » 30 Aug 2012, 00:06

Both BlueBox.war files are dated May 2nd. Can you email me your war file to milen@ggp.co .
User avatar
Lapo
Site Admin
Posts: 23026
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: BlueBox for iOS

Postby Lapo » 30 Aug 2012, 10:23

mmilen
I am not following very well. In the first message you showed an ClassNotFound error relative to a class that is actually included in the patch. It sounds like you might have a corrupted file in your installation.

Then you reported a second more generic issue of not being able to connect to the BlueBox using version 2.2.0.
Actually I am in no way able to reproduce such problem. I would like to get more info and step by step description of how to reproduce the problem.
Lapo
--
gotoAndPlay()
...addicted to flash games
mmilen
Posts: 298
Joined: 09 Nov 2010, 00:48
Contact:

Re: BlueBox for iOS

Postby mmilen » 30 Aug 2012, 17:08

Hi,

Here is the setup.

Mac OS Lion, SFS 2.2.0 and BlueBox.war dated May 2nd. Most of the files in the war file are dated Feb 2nd 2012, with the exception of BlueBox.class and BBClient.class dated may 2nd.

The App is the same Bridge app as in the past, it is working fine via socketed connection and most packets are in the range of 1K, with very rare exceptions going over to 10K.

Here is my config file:
<SmartFoxConfig>
<ip>192.168.80.103</ip>
<port>3933</port>
<debug>true</debug>
<useBlueBox>true</useBlueBox>
<httpPort>8080</httpPort>
<httpPollSpeed>750</httpPollSpeed>
<zone>SocialBridgeTables</zone>
</SmartFoxConfig>

<port>3933</port> is on purpose messed up so that BlueBox connection is forced. If I put in the right port number 9933 everything works like a charm over socketed connection.

The app connects via Blue Box and authenticates:
12:48:17,019 INFO [989279323@qtp-239228739-4] sessions.DefaultSessionManager - Session created: { Id: 5, Type: BLUEBOX, Logged: No, IP: null } on Server port: 0 <---> 0
12:48:19,553 INFO [pool-1-thread-1] api.SFSApi - User login: { Zone: SocialBridgeTables }, ( User Name: milen, Id: 3, Priv: 0, Sess: 192.168.80.103 ) , Type: IOS version: 5.1

then I create a room and join that room:
12:48:33,289 INFO [com.smartfoxserver.v2.controllers.ExtensionController-3] managers.SFSRoomManager - Room created: { Zone: SocialBridgeTables }, [ Room: Table: milen, Id: 4, Group: default, isGame: true ]

My game starts and at random point (usually after the first 3-4 packet exchanges) I get this on the server side:

12:49:35,586 ERROR [1321312491@qtp-239228739-7] mortbay.log - /BlueBox/BlueBox.do
java.lang.IllegalArgumentException: Unexpected null or empty byte array!
at com.smartfoxserver.v2.protocol.SFSIoHandler.onDataRead(SFSIoHandler.java:81)
at com.smartfoxserver.v2.bluebox.BlueBox.doPost(BlueBox.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
at com.smartfoxserver.v2.bluebox.SessionFilter.doFilter(SessionFilter.java:141)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)


Which results in this error on the client side :

2012-08-30 12:49:35.588 iBridgeBaron[27403:10a03] *** -[CFArray release]: message sent to deallocated instance 0x14f00d90
mmilen
Posts: 298
Joined: 09 Nov 2010, 00:48
Contact:

Re: BlueBox for iOS

Postby mmilen » 30 Aug 2012, 17:22

Here is something that might help. When the compression threshold on the server is 1024 and I send much larger packet of about 10K. The communication freezes and I get this on the server side :

13:12:41,909 WARN [1321312491@qtp-628029189-7] binary.BinaryIoHandler -

The error I have in my previous post is with compression threshold of 10240000. Before the framework API was release the compression did not work ont he client side so I had to basically disable it.
User avatar
Lapo
Site Admin
Posts: 23026
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: BlueBox for iOS

Postby Lapo » 30 Aug 2012, 21:21

Please contact us via the support@ email. I will send you a couple of jar files so we can make sure we're looking at the same thing
Thanks
Lapo

--

gotoAndPlay()

...addicted to flash games
mmilen
Posts: 298
Joined: 09 Nov 2010, 00:48
Contact:

Re: BlueBox for iOS

Postby mmilen » 30 Aug 2012, 21:28

you can email me milen@ggp.co .
User avatar
A51Integrated
Posts: 240
Joined: 03 Jan 2012, 19:55
Location: Toronto, Canada
Contact:

Re: BlueBox for iOS

Postby A51Integrated » 31 Aug 2012, 14:49

Can you provide the exact steps to replicate the issue? What objects/messages are you sending to the server etc and in what order. Thx.
A51 Integrated

http://a51integrated.com / +1 416-703-2300
mmilen
Posts: 298
Joined: 09 Nov 2010, 00:48
Contact:

Re: BlueBox for iOS

Postby mmilen » 31 Aug 2012, 20:01

I have emailed Wayne and the support a complete log file of a BlueBox session up until the crash. Here are the last few entries.

2012-08-31 15:25:37.895 iBridgeBaron[34874:10a03] [SFS - INFO][ BB-Send ]: sfsHttp=397462cc538bdd44cf83f5cbbb24a601%7Cpoll%7Cnull
2012-08-31 15:25:38.672 iBridgeBaron[34874:10a03] [SFS - INFO][ BB-Send ]: sfsHttp=397462cc538bdd44cf83f5cbbb24a601%7Cdata%7CgABGEgADAAFjAgAAAWEDAAcAAXASAAQAAXIEAAAAFgABcBIAAgADbWlkBAAABRkAA3NpZAQAAAACAAJyYwwAAQAAABYAAXQCBA==
2012-08-31 15:25:38.672 iBridgeBaron[34874:10a03] [SFS - INFO]Data Write: Binary Size: 73
80 00 46 12 00 03 00 01 63 02 00 00 01 61 03 00 ..F.....c....a..
07 00 01 70 12 00 04 00 01 72 04 00 00 00 16 00 ...p.....r......
01 70 12 00 02 00 03 6d 69 64 04 00 00 05 19 00 .p.....mid......
03 73 69 64 04 00 00 00 02 00 02 72 63 0c 00 01 .sid.......rc...
00 00 00 16 00 01 74 02 04 ......t..
2012-08-31 15:25:38.680 iBridgeBaron[34874:10a03] [SFS - INFO][ BB-Receive: poll|gABDEgADAAFhAwAHAAFjAgAAAXASAAQAAXIEAAAAFgABdQQAAAAWAAF0AgQAAXASAAIAA3NpZAQAAAACAANtaWQEAAAFGQ== ]
2012-08-31 15:25:38.681 iBridgeBaron[34874:10a03] [SFS - INFO]Data Read: Binary Size: 70
80 00 43 12 00 03 00 01 61 03 00 07 00 01 63 02 ..C.....a.....c.
00 00 01 70 12 00 04 00 01 72 04 00 00 00 16 00 ...p.....r......
01 75 04 00 00 00 16 00 01 74 02 04 00 01 70 12 .u.......t....p.
00 02 00 03 73 69 64 04 00 00 00 02 00 03 6d 69 ....sid.......mi
64 04 00 00 05 19 d.....
2012-08-31 15:25:38.681 iBridgeBaron[34874:10a03] [SFS - INFO]Handling Message: GenericMessage: { Message id: 7 }
{Dump: }

(int) r: 22
(sfs_object) p:
(int) sid: 2
(int) mid: 1305

(int) u: 22
(byte) t: 4
2012-08-31 15:25:38.682 iBridgeBaron[34874:10a03] AppDelegate::onObjectMessage 1305
2012-08-31 15:25:38.682 iBridgeBaron[34874:10a03] {
message = "<SFSObject: 0x14431880>";
sender = "[User: milen, Id: 22, isMe: YES]";
}
2012-08-31 15:25:38.682 iBridgeBaron[34874:10a03]
(int) sid: 2
(int) mid: 1305
2012-08-31 15:25:38.683 iBridgeBaron[34874:10a03] [SFS - INFO][ BB-Send ]: sfsHttp=397462cc538bdd44cf83f5cbbb24a601%7Cdata%7CgACpEgADAAFjAgAAAWEDAAcAAXASAAQAAXIEAAAAFgABcBIABAABaQgAUjEzKyBUb3RhbCBQb2ludHM8YnIvPjEyLTIxIEhDIFBvaW50czxici8+NSsgPGZvbnQgIGNvbG9yPSdSZWQnPiYjOTgyOTs8L2ZvbnQ+PGJyLz4AA21pZAQAAAUaAAFjCAAHTmF0dXJhbAABdAQAAAASAAJyYwwAAQAAABYAAXQCBA==
2012-08-31 15:25:38.684 iBridgeBaron[34874:10a03] [SFS - INFO]Data Write: Binary Size: 172
80 00 a9 12 00 03 00 01 63 02 00 00 01 61 03 00 ........c....a..
07 00 01 70 12 00 04 00 01 72 04 00 00 00 16 00 ...p.....r......
01 70 12 00 04 00 01 69 08 00 52 31 33 2b 20 54 .p.....i..R13+.T
6f 74 61 6c 20 50 6f 69 6e 74 73 3c 62 72 2f 3e otal.Points<br/>
31 32 2d 32 31 20 48 43 20 50 6f 69 6e 74 73 3c 12-21.HC.Points<
62 72 2f 3e 35 2b 20 3c 66 6f 6e 74 20 20 63 6f br/>5+.<font..co
6c 6f 72 3d 27 52 65 64 27 3e 26 23 39 38 32 39 lor='Red'>&#9829
3b 3c 2f 66 6f 6e 74 3e 3c 62 72 2f 3e 00 03 6d ;</font><br/>..m
69 64 04 00 00 05 1a 00 01 63 08 00 07 4e 61 74 id.......c...Nat
75 72 61 6c 00 01 74 04 00 00 00 12 00 02 72 63 ural..t.......rc
0c 00 01 00 00 00 16 00 01 74 02 04 .........t..
2012-08-31 15:25:38.701 iBridgeBaron[34874:10a03] [SFS - INFO][ BB-Receive: <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 500 Unexpected null or empty byte array!</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /BlueBox/BlueBox.do. Reason:
<pre> Unexpected null or empty byte array!</pre></p><h3>Caused by:</h3><pre>java.lang.IllegalArgumentException: Unexpected null or empty byte array!
at com.smartfoxserver.v2.protocol.SFSIoHandler.onDataRead(SFSIoHandler.java:81)
at com.smartfoxserver.v2.bluebox.BlueBox.doPost(BlueBox.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
at com.smartfoxserver.v2.bluebox.SessionFilter.doFilter(SessionFilter.java:141)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
</pre>
<hr /><i><small>Powered by Jetty://</small></i><br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>

</body>
</html>
]
2012-08-31 15:25:38.710 iBridgeBaron[34874:10a03] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
*** First throw call stack:
(0x28ab022 0x245acd6 0x2897644 0x65287f 0x65254b 0x1fc0a49 0x1fbee84 0x1fbfea7 0x1fbee3f 0x1fbefc5 0x1f03f5a 0x13bea39 0x148b596 0x13b5120 0x148b117 0x13b4fbf 0x287f94f 0x27e2b43 0x27e2424 0x27e1d84 0x27e1c9b 0x2a3d7d8 0x2a3d88a 0x15bd626 0x2015 0x1f55)
terminate called throwing an exception(lldb)
mmilen
Posts: 298
Joined: 09 Nov 2010, 00:48
Contact:

Re: BlueBox for iOS

Postby mmilen » 01 Oct 2012, 18:01

I see the new version of the API with armv7s support. Do you have an idea when BlueBox can work with special characters in UtfString variables. Currently sending HTML snippet over BlueBox is impossible, but works like a charm via SOCKET.
User avatar
A51Integrated
Posts: 240
Joined: 03 Jan 2012, 19:55
Location: Toronto, Canada
Contact:

Re: BlueBox for iOS

Postby A51Integrated » 01 Oct 2012, 18:36

We've discovered that this is not a bug specific to the iOS API (it exists in the .NET API as well) and it has to do with the various methods that exist for Base64 encoding.

We're actively looking for a solution.
A51 Integrated

http://a51integrated.com / +1 416-703-2300
mmilen
Posts: 298
Joined: 09 Nov 2010, 00:48
Contact:

Re: BlueBox for iOS

Postby mmilen » 01 Oct 2012, 19:27

Thank you for the update. Will wait for the next build of the framework then.

I have a second question, how do one manages the BlueBox timeout. I have a server with user inactivity timeout set to 2 minutes. However that same server will drop BlueBox connections in around 40 seconds.
User avatar
Lapo
Site Admin
Posts: 23026
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: BlueBox for iOS

Postby Lapo » 02 Oct 2012, 07:08

Are you still talking about the iOS API?
Lapo

--

gotoAndPlay()

...addicted to flash games

Return to “SFS2X iPhone / iPad / OSX API”

Who is online

Users browsing this forum: No registered users and 43 guests