国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

24.1.連接Socket服務器

2024-04-27 13:47:00
字體:
來源:轉載
供稿:網友
問題
我想連接socket服務器
解決辦法
使用Socket.connect( )或XMLSocket.connect( )方法建立連接并監聽connect事件確定連接是否建立。
討論
要連接socket服務器,首先要知道域名或IP地址,還要知道端口,不管是使用Socket 還是XMLSocket,連接步驟是一樣的,都是用connect( )方法進行連接,該方法接受兩個參數:
host
指定域名或IP地址,如www.example.com或192.168.1.101。
port
數字,指定連接的端口號,必須大于1024,如果小于1024則需服務器提供策略文件允許。

因為是異步通信,connect( )方法不會等待結果而是繼續執行下面的語句,因此需要注冊事件監聽器來獲取連接結果。

注冊事件監聽器必須在調用connect( )方法之前,當連接成功時connect事件就會觸發,下面的例子演示連接本機2900端口:
+展開
-ActionScript
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.Socket;
public class SocketExample extends Sprite {
private var socket:Socket;
public function SocketExample( ) {
socket = new Socket( );
// Add an event listener to be notified when the connection
// is made
socket.addEventListener( Event.CONNECT, onConnect );
// Connect to the server
socket.connect( "localhost", 2900 );
}
private function onConnect( event:Event ):void {
trace( "The socket is now connected..." );
}
}
}

如果使用XMLSocket,代碼也基本上相同,代碼如下:
+展開
-ActionScript
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.XMLSocket;
public class SocketExample extends Sprite {
private var socket:XMLSocket;
public function SocketExample( ) {
socket = new XMLSocket( );
// Add an event listener to be notified when the connection is made
socket.addEventListener( Event.CONNECT, onConnect );
// Connect to the server
socket.connect( "localhost", 2900 );
}
private function onConnect( event:Event ):void {
trace( "The xml socket is now connected..." );
}
}
}

如果連接失敗,可能的異常有:runtime error,ioError,securityError ,記住,當用socket連接主機時,要遵循Flash Player安全沙漏規則:
swf 和主機必須在同一個域;
網絡上的swf不能連接本地服務器;
本地的swf 不能訪問任何網絡資源;
要允許域名交叉訪問或連接低于1024的端口,需要提供cross-domain 策略文件。


如果Socket 或XMLSocket 對象要使用cross-domain 策略文件, 可通過方法flash.system.Security.loadPolicyFile( )讀?。?div id="iwvjtn8m0" class="xcode">+展開
-ActionScript
Security.loadPolicyFile("http://www.rightactionscript.com/crossdomain.xml");

cross-domain策略文件例子:
+展開
-XML
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domainpolicy.
dtd">

<cross-domain-policy>
<allow-access-from domain="*" to-ports="80,110" />
</cross-domain-policy>
上一篇:23.8.監視文件上傳進度

下一篇:24.0.簡介

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遵义市| 防城港市| 乌拉特中旗| 聂荣县| 定结县| 河间市| 宁强县| 莆田市| 松阳县| 泽普县| 巴彦县| 平安县| 阳高县| 农安县| 海林市| 襄汾县| 南岸区| 涿州市| 牟定县| 青州市| 宣化县| 东乡| 罗田县| 赞皇县| 洛扎县| 双辽市| 铁力市| 淮安市| 广州市| 海安县| 佛学| 承德市| 得荣县| 大冶市| 嘉善县| 宣威市| 门头沟区| 河南省| 浠水县| 东乡县| 恩平市|