Flash/Flex也支援基於Socket的網路連線 ,伺服器端可以是C++,VB,C#,Java等任一語言開發。監聽一個網路連接埠便可以接收到Flash/Flex開發的客戶端的連線。
ActionScript 3.0提供了透過Socket連接的方式與伺服器端通訊。這一點是超越傳統B/S結構的重要特徵。這樣使得網路通訊可以即時連接,避免了HTTP協定無狀態連接的弊病。 ActionScript 3.0使用XMLSocket類別進行連線。要注意的是使用XMLSocket類別進行Socket連線時,不能自動穿過防火牆。要穿過防火牆連接,則需要使用基於HTTP協定的RTMP協定。
透過查閱Adobe提供的API文件可以了解到,XMLSocket提供了四個公開方法:
1、XMLSocket(host:String=null,port:int=0)--建立一個新的XMLSocket物件。
2、close():void--關閉一個XMLSocket。
3、connect(host:String,port:int):void--連接到指定的TCP連接埠。
4、send(object:*):void--將資料傳送至連線服務端。
OK,了解這些後我們就可以用XMLSocket來開發基於Socket的網路及時通訊應用。下面透過C#提供一個Socket的服務端,並監聽8888埠。範例程式如下:
1privatefunctionconnectionServer():void
2{
3xmlConn=newXMLSocket();
4xmlConn.connect("127.0.0.1",8888);
後🜎透過XMLSocket的實例方法send()向Socket服務端發送訊息了。下列程式碼定義: