2012-04-20 14 views

答えて

0

これは、ネット上でいくつかのコードチートビットを貼り付けることができます。

import flash.net.Socket; 
private var remoteHost:String; 
private var portNumber:int; 

// Create a new Socket object and assign event listeners. 
socket = new Socket(); 
socket.addEventListener(Event.CONNECT, connectHandler); 
socket.addEventListener(Event.CLOSE, closeHandler); 
socket.addEventListener(ErrorEvent.ERROR, errorHandler); 
socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 

機能

はネッティーサーバに私が作成したネッティーゲームサーバーに機能をログインん

public function connect():Boolean 
    { 
     // Load policy file from remote server. 
     //Security.loadPolicyFile("xmlsocket://" + remoteHost + ":" + policyPort); 
     // Attempt to connect to remote socket server. 
     try { 
      trace("Trying to connect to " + remoteHost + ":" + portNumber + "\n"); 
      socket.connect(remoteHost, portNumber); 
     } catch (error:Error) { 
      /* 
       Unable to connect to remote server, display error 
       message and close connection. 
      */ 
      trace(error.message + "\n"); 
      socket.close(); 
      return false; 
     } 
     return true; 
    } 

機能を接続します。あなたはログインなどを無視することができ、単にnettyでどのように動作するかを表示しようとしています。提供される実際のjava game server code goto github linkを確認する。

private function connectHandler(event:Event):void { 
     if (socket.connected) { 
      socket.addEventListener(ProgressEvent.SOCKET_DATA, loginHandler); 
        var payLoad:ByteArray = new ByteArray(); 
      payLoad.writeByte(LOG_IN);//opcode sent back to netty server in my implementation 
      payLoad.writeBytes(encodeMultiStrings(user, pass, roomName));// credentials 
      trace("Payload length before encode is: " + payLoad.length); 
      var login:ByteArray = encodeBytes(payLoad); 
      trace ("Login bytes length: " + login.length); 
      writeBytesToSocket(login); 
     }else { 
      trace("unable to connect\n"); 
     } 
    }