OSDN Git Service

Added the disconnect message which kicking a client
authorPSpeed42@gmail.com <PSpeed42@gmail.com@75d07b2b-3a1a-0410-a2c5-0572b91ccdca>
Thu, 17 Mar 2011 20:54:08 +0000 (20:54 +0000)
committerPSpeed42@gmail.com <PSpeed42@gmail.com@75d07b2b-3a1a-0410-a2c5-0572b91ccdca>
Thu, 17 Mar 2011 20:54:08 +0000 (20:54 +0000)
from the new server... haven't actually tested it.

git-svn-id: http://jmonkeyengine.googlecode.com/svn/trunk@7014 75d07b2b-3a1a-0410-a2c5-0572b91ccdca

engine/src/networking/com/jme3/network/base/DefaultServer.java

index f24979f..e5cc016 100644 (file)
@@ -41,6 +41,7 @@ import java.util.concurrent.atomic.AtomicLong;
 import com.jme3.network.*;
 import com.jme3.network.kernel.*;
 import com.jme3.network.message.ClientRegistrationMessage; //hopefully temporary
+import com.jme3.network.message.DisconnectMessage; //hopefully temporary 
 import com.jme3.network.serializing.Serializer;
 
 /**
@@ -352,7 +353,16 @@ public class DefaultServer implements Server
         public void close( String reason )
         {
             // Send a reason
-        
+            DisconnectMessage m = new DisconnectMessage();
+            m.setType( DisconnectMessage.KICK );
+            m.setReason( reason );
+            m.setReliable( true );
+            send( m );
+            
+            // Note: without a way to flush the pending messages
+            //       during close, the above message may never
+            //       go out.
+                   
             // Just close the reliable endpoint
             // fast will be cleaned up as a side-effect
             if( reliable != null ) {