ユーザー 1 は Flash から、ユーザー 2 はブラウザからアプリケーションを開いています。
- ユーザー 1 がルーム A を作成
- ユーザー 2 がルーム A に参加
- ユーザー 2 が部屋 A を出る
...そして、私はこのエラーを受け取ります:
[ RECEIVED ]: <msg t='sys'><body action='uCount' r='2' u='1'></body></msg>, (len: 60)
[ RECEIVED ]: <msg t='sys'><body action='userGone' r='89'><user id='91' />, (len: 73)
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at it.gotoandplay.smartfoxserver.handlers::SysHandler/handleUserLeaveRoom()[/Users/Lapo/Documents/Flex Builder 2/SmartFoxClient_AS3/src/it/gotoandplay/smartfoxserver/handlers/SysHandler.as:353]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at it.gotoandplay.smartfoxserver.handlers::SysHandler/handleMessage()[/Users/Lapo/Documents/Flex Builder 2/SmartFoxClient_AS3/src/it/gotoandplay/smartfoxserver/handlers/SysHandler.as:84]
at it.gotoandplay.smartfoxserver::SmartFoxClient/xmlReceived()[/Users/Lapo/Documents/Flex Builder 2/SmartFoxClient_AS3/src/it/gotoandplay/smartfoxserver/SmartFoxClient.as:327]
at it.gotoandplay.smartfoxserver::SmartFoxClient/handleMessage()[/Users/Lapo/Documents/Flex Builder 2/SmartFoxClient_AS3/src/it/gotoandplay/smartfoxserver/SmartFoxClient.as:1418]
at it.gotoandplay.smartfoxserver::SmartFoxClient/handleSocketData()[/Users/Lapo/Documents/Flex Builder 2/SmartFoxClient_AS3/src/it/gotoandplay/smartfoxserver/SmartFoxClient.as:1401]
- ユーザー 2 がルーム A を作成した場合
- ユーザー 1 がルーム A に参加
- ユーザー 2 が部屋 A を出る
... ユーザー 2 が部屋を出るときにエラーは発生しません。
そのため、ユーザーをサーバーに接続するボタンがあり、ユーザーが接続して「ロビー」ルームに参加すると、参加してルームを作成でき、2 人のプレイヤーが参加するとゲームが開始されます。
私は AS3 で SFS Basic を使用しています。どこにも getRoomList() を呼び出していません。また、エラーなしで動作しているこれに似た別のアプリケーションがあることに言及する必要があります (同じ API、同じサーバー、同様の関数フロー)。
さまざまな解決策を試しましたが、助けにはなりません...
このアプリケーションでこのエラーが発生し、他のアプリケーションが正常に動作する理由と、ルームを作成したときにのみこのエラーが発生する理由がわかりません。ユーザー 1 だけでなく、ユーザーがルームを作成したときにエラーが発生すると予想されます。部屋を作成します。
助けや提案は大歓迎です。私はこの問題に何日も苦労しています...
更新: 3 人のプレーヤー ルーム (ゲーム ルーム) を作成し、ゲームが開始されず、2 人のプレーヤーを接続した後、すべてが切断された場合は問題ありませんが、ゲームの開始後に切断すると、このエラーが発生します。