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

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

18.13.通過二進(jìn)制Socket發(fā)送和接收二進(jìn)制數(shù)據(jù)

2024-04-27 13:52:26
字體:
供稿:網(wǎng)友
18.13.1. 問題
我想接收二進(jìn)制數(shù)據(jù),處理完后以同樣的二進(jìn)制格式發(fā)送數(shù)據(jù)。
18.13.2. 解決辦法
使用flash.net.Socket 打開socket 連接。
18.13.3. 討論
flash.net.Socket 是Flex 框架或ActionScript 3中最低級別的通信工具,使得你能建立socket連接并讀取和寫入原始的二進(jìn)制數(shù)據(jù)。Socket 可接收和發(fā)送POP3,SMTP,IMAP 信息,甚至是自定義二進(jìn)制格式。Flash Player 可以使用這樣的二進(jìn)制協(xié)議直接與服務(wù)器通信。

要?jiǎng)?chuàng)建一個(gè)Socket,先要使用構(gòu)造器創(chuàng)建Socket 實(shí)例,調(diào)用connect 方法,傳遞IP 地址或域名和端口號作為方法參數(shù):
+展開
-ActionScript
var socket:Socket;
//create the new socket and connect to 127.0.0.1 on port 8080
private function init():void {
socket = new Socket();
socket.addEventListener(ProgressEvent.SOCKET_DATA,
readSocketData);
socket.connect("127.0.0.1", 8080);
// send data to the socket
private function sendSocketData(string:String):void {
// send the string data and specify the encoding for the string
// in this case iso-08859-1, standard western european encoding
socket.writeMultiByte(string, "iso-8859-1");
}
// when data is passed to socket, read it into a new ByteArray
private function readSocketData(progressEvent:ProgressEvent):void
{
trace(progressEvent.bytesLoaded);
var ba:ByteArray = new ByteArray();
trace(socket.readBytes(bs));
}

在上面的sendSocketData 方法中,writeMultiByte 方法通過Socket 連接發(fā)送數(shù)據(jù)。該方法接受一字符串值作為發(fā)送的二進(jìn)制數(shù)據(jù),第二個(gè)參數(shù)采用的數(shù)據(jù)編碼。readSocketData 方法讀取任何從Socket 發(fā)送來的數(shù)據(jù),并把讀取的數(shù)據(jù)字節(jié)存到ByteArray 對象。如要讀取ByteArray 的數(shù)據(jù),可使用各種版本的read 方法,包括integers, strings,和arrays 的read 方法。

把Object 作為二進(jìn)制數(shù)據(jù)發(fā)送后,如果該類型已通過flash.net.RegisterClass 方法注冊過,即可使用ByteArray 的readObject 方法讀取。

要連接端口號低于1024的Socket,你需要在站點(diǎn)根目錄有一個(gè)cross-domain.xml 文件,其中明且定義允許的端口號。例如要允許Flash Player 與Web 服務(wù)器的80端口通信,可這樣寫:
+展開
-XML
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*to-ports="80" />
</cross-domain-policy>
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴宁市| 大姚县| 敖汉旗| 铅山县| 常宁市| 乌兰察布市| 进贤县| 中超| 阿尔山市| 和平区| 敖汉旗| 天峨县| 壶关县| 天镇县| 册亨县| 攀枝花市| 会泽县| 雷波县| 广德县| 民勤县| 江陵县| 运城市| 杭州市| 新平| 昌江| 东乌珠穆沁旗| 寻乌县| 防城港市| 德阳市| 公安县| 华安县| 辽阳县| 定结县| 新蔡县| 成武县| 弋阳县| 高阳县| 青岛市| 华容县| 峨边| 柯坪县|