您的位置:首页 > 其它

Flash Socket的基本通讯协议流程例子

2010-07-25 16:45 211 查看
这个例子是7月24日 • 广州 • 东方国际饭店的Flash技术交流会演讲那天的例子,现在传到blog上,让有需要的人去下载。不过后来发现大家比较感兴趣的,不是具体的通讯协议,而且一些关于通讯的各种技术解决问题。呵呵。希望有继续可以和大家继续交流。大家共同前进。而我自己以后也会陆续贴出自己工作上遇到的问题(例如我自己现在webgame服务器方面的)
不过这篇例子是比较简单的通讯协议了,客户端和服务端都是采用最基础的一个一个数据地发送,也是一个一个地接受(采用 len + cmd + body)的方式。之后也会推出增加AMF3,以及自动解析的一些例子啦。
例子运行图片



下面是贴一下简单的代码

Flash端发送登陆数据

userName = "soda" + Math.floor(Math.random() * 100000);
//连接成功,进行发送数据
var byteArray:ByteArray = new ByteArray();
//登陆消息
byteArray.writeShort(LOGIN);
byteArray.writeUTF(userName);
socket.writeShort(byteArray.length);
socket.writeBytes(byteArray);
socket.flush();


接下来是java端对应的接受数据

//读出开头长度的short(2个字节)
short len = input.readShort();
//读出len之后,接着是读取short类型的cmd(2个字节)
short cmd = input.readShort();
//根据cmd的值不同,判断后续的内容是什么
//读取用户名
String userName = input.readUTF();


其他具体的就不说了,看例子。当然还是会有很多其他的问题,例如怎么做整体的网络通讯框架,如何提高开发效率和性能,等等很多问题。不过这些都是可以一一解决的,希望大家可以深入了解,一起进步

最后,是下载整个例子的客户端和服务端的源码



点击下载此文件

ppt文件(ppt很简陋,主要的东西,都是在demo了,研究代码就可以啦:)



点击下载此文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: