- 浏览: 1084939 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://bbs.9ria.com/viewthread.php?tid=76152&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000
使用说明:
1:把socket这个文件夹复制到硬盘,比如盘符是d:\
2:找到socket\php下面的start.bat,右键--编辑---修改盘符(这里默认地址是d:\)
3:把socket文件夹下的xx.cfg复制到C:\Documents and Settings\hui.wang\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust下。
4:双击php\socket下的start.bat,运行服务端。可以查看服务端运行状况。
5:双击flash\load.swf运行,点击舞台,可以收到服务端数据。
6:Server.php里已经默认发送crossdomain.xml字符,防止安全沙箱冲突。
flash 代码:
//-------------服务端代码:
Server.php
start.php代码
使用说明:
1:把socket这个文件夹复制到硬盘,比如盘符是d:\
2:找到socket\php下面的start.bat,右键--编辑---修改盘符(这里默认地址是d:\)
3:把socket文件夹下的xx.cfg复制到C:\Documents and Settings\hui.wang\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust下。
4:双击php\socket下的start.bat,运行服务端。可以查看服务端运行状况。
5:双击flash\load.swf运行,点击舞台,可以收到服务端数据。
6:Server.php里已经默认发送crossdomain.xml字符,防止安全沙箱冲突。
flash 代码:
package { import flash.display.Sprite; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.MouseEvent; import flash.events.ProgressEvent; import flash.events.SecurityErrorEvent; import flash.net.Socket; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.XMLSocket; import flash.text.TextField; import flash.utils.ByteArray; public class Load extends Sprite { protected var sock:Socket; protected var reads:ByteArray; protected var isConnection:Boolean; private var _tx:TextField; public function Load() { this._init(); } private function _init():void { sock=new Socket(); sock.addEventListener(Event.CONNECT,onConnect); sock.addEventListener(ProgressEvent.SOCKET_DATA,onData); sock.addEventListener(Event.CLOSE,onClose); sock.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onError); sock.addEventListener(IOErrorEvent.IO_ERROR,onIOError); sock.connect("localhost",4324); this.stage.addEventListener(MouseEvent.CLICK,onClick); this._tx=new TextField(); addChild(this._tx); this._tx.border=true; this._tx.multiline=true; } public function onClick(ev:MouseEvent):void { if(this.isConnection) { var mes:String="flash"+Math.floor(Math.random()*1000000); this.sendMes(mes); trace("发送给服务端数据是: ",mes); }else { trace("服务未被连接!"); } } public function sendMes(mes:String):void { var bytes:ByteArray=new ByteArray(); bytes.writeUTFBytes(mes+"\n"); bytes.position=0; sock.writeBytes(bytes); sock.flush(); } public function onConnect(ev:Event):void { trace("连上服务端"); this.isConnection=true; } public function onData(ev:ProgressEvent):void { trace("收到服务器发来的数据"); if(sock.bytesAvailable) { reads=new ByteArray(); sock.readBytes(reads); trace(reads); _tx.appendText(" "+reads); } } public function onClose(ev:Event):void { trace("服务被关闭"); this.isConnection=false; } public function onError(ev:SecurityErrorEvent):void { trace("沙箱错误"); } public function onIOError(ev:IOErrorEvent):void { trace("接口错误,请检查ip和端口"); } } }
//-------------服务端代码:
Server.php
<?php /** * Created on Mar 9, 2011 * @auth hui.wang * This Class is Server */ class Server { public $host; public $port; public $isListen=true; protected $sock; protected $bind; protected $listen; protected $connection; protected $input; protected $output; public $crossdomain; public function __construct($ip=null,$entrance=null) { $this->host=$ip; $this->port=$entrance; $this->setCrossDomain(); } /**socket开始*/ public function start() { $this->serverLoop(); } /**关闭socket*/ protected function shutdown() { socket_close($this->connection); socket_close($this->sock); } protected function serverLoop() { $this->sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP); if($this->sock) { echo "Socket has been created \n"; }else { echo "failed to create socket".socket_strerror($this->sock)."\n"; exit(); } $this->bind=socket_bind($this->sock,$this->host,$this->port); if($this->bind) { echo "Socket has been bind \n"; }else { echo "failed to bind socket: ".socket_strerror($this->bind)."\n"; exit(); } $this->listen=socket_listen($this->sock,5); if($this->listen) { echo "Socket is listening \n"; }else { echo "failed to listen to socket: ".socket_strerror($this->listen)."\n"; exit(); } echo "waiting for clients to connect \n"; while($this->isListen) { $this->connection=socket_accept($this->sock); if(!$this->connection) { usleep(100); }else if($this->connection>0) { echo "A connection...\n"; $this->handleClient(); } } $this->shutdown(); } /**设置crossdomain.xml字符串*/ protected final function setCrossDomain() { $this->crossdomain="<cross-domain-policy>" . "<allow-access-from domain='*' to-ports='*' />" . "</cross-domain-policy>" . "\0"; } /**处理客户端*/ protected function handleClient() { while($this->input=socket_read($this->connection,2048)) { if(strpos($this->input,'policy-file-request')) { socket_write($this->connection,$this->crossdomain,strlen($this->crossdomain)); }else { $this->input=trim($this->input); echo "Recived mes: ".$this->input."\n"; $this->output=strrev($this->input)."\n"; echo "Back to client mes:(len is ".strlen($this->output).") ".$this->output."\n"; socket_write($this->connection,$this->output,strlen($this->output))or die("Could not write output\n"); } } socket_close($this->connection); } } ?>
start.php代码
<?php /* * Created on Mar 9, 2011 * @auth hui.wang */ include_once 'Server.php'; $server=new Server("localhost",4324); $server->start(); ?>
发表评论
-
greenSock新老库
2012-08-07 13:25 0老库-做项目的时候比新库完全不抖啊 -
Starling开发的游戏源码
2012-07-26 17:13 0Starling开发的游戏源码 -
一个基于STARLING的TOWER塔防游戏
2012-07-24 15:27 0一个基于STARLING的TOWER塔防游戏 -
HttpStatusConfig --一个HTTP 协议返回的 解析说明类
2012-04-18 16:40 0package guwanyuan.qicool.game ... -
[转] [Flash/Flex] 加载SWF性能VS影片剪辑性能
2012-03-15 22:29 0http://bbs.9ria.com/viewthread. ... -
水果忍者鼠标跟随特效制作[转载]
2012-03-01 16:06 2449实现这效果其实比较简单,主要是思路~! package ... -
greensock-as3
2012-02-23 21:26 0greensock-as3 -
禁止输入文本可以粘贴
2012-02-10 13:15 2316//禁止输入文本粘贴动作 private static ... -
江湖情缘游戏里的跳的类
2012-02-08 23:55 0package com.app.role.montions ... -
ColorMatrixFilter - 获得相应颜色的色调 函数
2012-02-08 23:03 0/**获得相应颜色的色调的滤镜**/ public sta ... -
[教程] 路点导航(Waypoint Navigation)
2011-12-31 00:51 0前言:这个不难,所以知道的童鞋不要喷,不知道的童鞋也不要怕,要 ... -
ARPG游戏引擎设计思路
2011-12-31 00:48 00.整体结构 下载 (32.92 KB ... -
Flash_Rich_Text_Editor(完美的富文本编辑器)
2011-12-27 17:55 0Flash_Rich_Text_Editor(完美的富文 ... -
弹弹堂测试
2011-12-08 04:21 0弹弹堂测试弹弹堂测试 -
一些DEMO
2011-11-28 17:42 0一些DEMO一些DEMO -
[转]三次贝尔曲线
2011-11-10 01:09 1923http://bbs.9ria.com/viewt ... -
[心得] 完美解决as3在ie中初始化时stageWidth和stageHeight为0的问题
2011-11-03 00:46 2939先看下面的一段脚本,这是比较经典的初始化脚本: pa ... -
五子棋算法详解
2011-10-31 04:14 0五子棋算法详解五子棋算法详解五子棋算法详解 -
[转]服务器端ActionScript语言参考
2011-10-31 00:29 0服务器端ActionScript语言参考 -
Flash Player和Adobe AIR内部的垃圾回收机制
2011-10-29 22:37 0资讯类型: 翻译 来源页面: http://www.ad ...
相关推荐
### 使用 PHP 的 Socket 与 Flash 的 Socket 进行通信 #### 一、PHP 的 Socket 编程基础 在本文档中,PHP 的 Socket 编程主要用于实现与 Flash 的 Socket 进行通信。PHP 的 Socket 编程相对较少被提及,但仍然是一...
总的来说,这个项目展示了如何使用Flash Socket与C++服务端实现基本的网络通信。虽然这里没有提供具体的代码,但通过理解Socket的工作原理和网络通信的基本概念,我们可以想象出实现这一功能的步骤。无论是客户端...
flash actionscript3 as3通信 教程 socket与服务器通信, 多个swf之间通信.zip
flash socket通信
Flash与Java的Socket通信是两种不同平台之间进行实时数据传输的一种技术,常用于构建富互联网应用程序(RIA)。本篇将深入探讨Flash与Java通过Socket接口实现通信的原理、步骤及其实现方法。 首先,我们需要了解...
在IT行业中,C#与Flash之间的Socket通信是一个重要的技术领域,尤其在开发跨平台、实时交互的应用时。本文将深入探讨如何使用C#作为服务器端,Flash作为客户端,通过Socket进行安全通信,并利用Flash的沙箱机制来...
在.NET编程环境中,C#语言提供了强大的网络通信支持,其中Socket是核心的网络通信组件。本示例将探讨如何在C#中实现基于Socket的异步通信,这在VS2005环境下已经通过了调试。异步通信是提高应用程序性能和响应能力的...
在这个“iPhone Socket通信例子”中,我们将探讨如何在iOS(iPhone)平台上利用Socket进行数据传输,以及与Mac平台上的服务端进行交互。首先,我们需要理解Socket的基本概念。 Socket,又称为套接字,是网络通信的...
#### Socket与TCP/UDP的关系 Socket本身并不属于TCP或UDP协议的一部分,但它提供了与这些协议交互的接口。具体而言: - **TCP(Transmission Control Protocol,传输控制协议)**:这是一种面向连接且可靠的协议,...
Socket通信是一种基于网络协议(如TCP/IP)进行进程间通信的技术,它允许两台计算机通过互联网交换数据。在本文中,我们将深入探讨“点到点通信”中的Socket通信代码,包括服务端和客户端的实现。 首先,让我们了解...
"FlashSocket与C#通讯"是一个关键的主题,涉及到客户端与服务器之间的低延迟、双向通信。以下是关于这个主题的详细解释: FlashSocket,全称Adobe Flash Socket,是Adobe Flash Player支持的一种高级网络功能,它...
本篇将围绕"socket编程 经过验证的通信例子"这一主题,深入讲解socket编程的基本概念、工作原理以及如何在Windows环境下使用VS2005进行实际应用。 首先,我们了解什么是Socket。Socket在操作系统层面上是一种接口,...
2. **绑定与监听**:使用`bind()`函数将socket与本地地址关联,然后用`listen()`函数设置最大连接队列长度,使socket变为监听状态。 3. **接收连接**:使用`accept()`函数异步接收客户端的连接请求。当有新的连接...
客户端之间直接通信,C与C之间直接通信(不是通过S传递)。 --------------------- 本文来自 ybhjx 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/ybhjx/article/details/53706658?utm_source=copy
本文将深入探讨如何使用Socket进行Xcode与Flash之间的通信,以及解决通过网页调用时遇到的两次连接问题。 首先,Socket是网络编程中的基本概念,它提供了一种端到端的数据通信方式,允许两个应用程序通过TCP或UDP...
标题和描述中的知识点聚焦于如何使用C#的Socket类实现UDP协议通信,这涉及到了UDP协议的基本特性以及在C#中的具体实现方法。以下是对这一主题的深入解析: ### UDP协议简介 用户数据报协议(UDP)是互联网协议族中...
- **连接Socket**: 客户端使用`connect()`函数尝试与服务器建立连接,服务器端则使用`accept()`函数接收连接请求并返回新的套接字用于后续通信。 - **发送数据**: `send()`或`write()`函数用于向连接的套接字发送...
C# Socket简单例子(服务器与客户端通信)
《FlashSocket.IO-0.7.x.zip:Flex与Socket.IO通信的桥梁》 在现代Web开发中,实时性成为了一项重要的需求,特别是在构建交互性强的网页应用时。FlashSocket.IO-0.7.x.zip是一个专门针对这种情况设计的库,它为Flex...