2014-05-01 138 views
2

我在PC上有一個c#服務器套接字,並且在與第一臺PC相同的本地網絡上的另一臺PC上有一個客戶端AS3套接字。 問題是當c#和AS3在同一臺PC上時,連接正常,但是當我在本地網絡上的另一臺PC上移動c#時,AS3無法達到它!AS3客戶端套接字無法連接到本地網絡服務器

+1

檢查你的防火牆規則和殺毒,看看是否被封鎖了連接該端口上和計算機是在同一個子網上。 – Xela

+0

實際上它不可能用閃光燈做,所以我搬到了android,它更好。 –

+0

我自己做,所以它不是不可能的。 – Xela

回答

1

是指給定請下面的代碼:

package { 
     import flash.display.Sprite; 

     public class SocketExample extends Sprite { 
      private var socket:CustomSocket; 

      public function SocketExample() { 
       socket = new CustomSocket("localhost", 80); 
      } 
     } 
    } 

    import flash.errors.*; 
    import flash.events.*; 
    import flash.net.Socket; 

    class CustomSocket extends Socket { 
     private var response:String; 

     public function CustomSocket(host:String = null, port:uint = 0) { 
      super(); 
      configureListeners(); 
      if (host && port) { 
       super.connect(host, port); 
      } 
     } 

     private function configureListeners():void { 
      addEventListener(Event.CLOSE, closeHandler); 
      addEventListener(Event.CONNECT, connectHandler); 
      addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 
      addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); 
      addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler); 
     } 

     private function writeln(str:String):void { 
      str += "\n"; 
      try { 
       writeUTFBytes(str); 
      } 
      catch(e:IOError) { 
       trace(e); 
      } 
     } 

     private function sendRequest():void { 
      trace("sendRequest"); 
      response = ""; 
      writeln("GET /"); 
      flush(); 
     } 

     private function readResponse():void { 
      var str:String = readUTFBytes(bytesAvailable); 
      response += str; 
     } 

     private function closeHandler(event:Event):void { 
      trace("closeHandler: " + event); 
      trace(response.toString()); 
     } 

     private function connectHandler(event:Event):void { 
      trace("connectHandler: " + event); 
      sendRequest(); 
     } 

     private function ioErrorHandler(event:IOErrorEvent):void { 
      trace("ioErrorHandler: " + event); 
     } 

     private function securityErrorHandler(event:SecurityErrorEvent):void { 
      trace("securityErrorHandler: " + event); 
     } 

     private function socketDataHandler(event:ProgressEvent):void { 
      trace("socketDataHandler: " + event); 
      readResponse(); 
     } 
    } 
+0

我離開了項目表格很長一段時間,但真的很感謝你:) –

相關問題