<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                為了使用 remoting ,必須有一個連接建立。有兩種Haxe 遠程連接: * haxe.remoting.Connection 是用于同步連接,調用一個方法時結果可以直接獲得。 * haxe.remoting.AsyncConnection 用于異步連接,結果是在執行過程中之后發生的事件。 ## 啟動一個連接 有一些目標平臺特定的構造函數用于不同的目的,可以用來設置一個連接: * 所有目標平臺 * `HttpAsyncConnection.urlConnect(url:String)` : 返回一個到指定URL的異步連接,可以連接到一個Haxe服務端應用。 * Flash * `ExternalConnection.jsConnect(name:STRING, ctx:Context)` : 允許一個到本地JavaScript Haxe 代碼的連接。JS Haxe代碼必須被包含 ExternalConnection 類進行編譯。這只適用于Flash Player 8 和更高版本。 * `AMFConnection.urlConnect(url:String) 和 AMFConnection.connect(cnx: NetConnection)` : 允許到一個[AMF遠程服務器](http://en.wikipedia.org/wiki/Action_Message_Format)(如[Flash 媒體服務器](http://www.adobe.com/products/adobe-media-server-family.html)或者 [AMFPHP](http://www.silexlabs.org/amfphp/))的連接。 * `SocketConnection.create(sock:flash.XMLSocket)` : 允許在XMLSocket上進行遠程通訊。 * `LocalConnection.connect(name:String)`: 允許在Flash LocalConnection上進行遠程通訊。 * JavaScript * ExternalConnection.flashConnect(name:String, obj:String, ctx:Context) 允許連接到一個指定的Flash對象。Haxe Flash內容必須被加載,并且它必須包含 haxe.remoting.Connection 類。只用于Flash8 或更高版本。 * Neko * HttpConnection.urlConnect(url:String) 像異步版本一樣使用,但是在同步模式下工作。 * SocketConnection.create(...) 允許實時和一個使用一個XML Socket來連接服務的Flash客戶端通訊。 ## 遠程上下文 在平臺之間通訊之前,一個遠程處理的上下文必須被定義。這是一個可以被客戶端代碼的連接上調用的共享的API。 這個服務代碼示例創建和共享一個API : ~~~ class Server { function new() { } function foo(x, y) { return x + y; } static function main() { var ctx = new haxe.remoting.Context(); ctx.addObject("Server", new Server()); if(haxe.remoting.HttpConnection.handleRequest(ctx)) { return; } // handle normal request trace("This is a remoting server !"); } } ~~~ ## 使用連接 連接使用起來非常方便。一旦連接被獲得,使用經典的點語法來屏幕一個路徑,然后使用 call() 調用遠程上下文中的方法,并獲得結果。異步連接接受一個附加的函數參數,在結果獲得之后被調用。 客戶端代碼示例連接到服務端遠程上下文并調用這個API上的一個函數 foo()。 ~~~ class Client { static function main() { var cnx = haxe.remoting.HttpAsyncConnection.urlConnect("http://localhost/"); cnx.setErrorHandler( function(err) trace('Error: $err'); } ); cnx.Server.foo.call([1,2], function(data) trace('Result: $data');); } } ~~~ 要使它用于Neko目標平臺,設置一個Neko Web 服務器,指向Client中的url到 “http://localhost:2000/remoting.n” ,并使用 -main Server -neko remoting.n 編譯 Server 。 ## 錯誤處理 * 當在異步調用中發生一個錯誤,就像上面例子中看到的,錯誤處理程序將被調用。 * 當在同步調用中發生一個錯誤,在訪客端一個異常被拋出,就像我們調用一個本地方法。 ## 數據序列化 Haxe 遠程處理可以發送多種不同種類的數據。查看 序列化(第10.8節)。 查看API文檔中的 remoting 包 詳細了解它的類。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看