1、socket连接分为tcp和udp两种模式,其中tcp会自动分发并且发送的流是顺序发送的,udp完整发送(主要用的是tcp模式,这边就不讨论upd模式的了)
2、tcp模式下连续发送数据时,会把一个大数据自动分为几个数据块多次发送,也有可能把多个小数据合并在一块后一次发送,所以传输的数据格式需要封装,加上一个数据长度或者结束标志以便区分,以下是在as3客户端接收socket数据时的片段代码
var flag:String = "[/e]";//结束标志
var aryData:Array = new Array();//这次接收到的数据组数
var strMessage:String = socket.readMultiByte(socket.bytesAvailable,"utf8");//本次接收到的数据
Debug.trace(strMessage);
var aryMessage:Array = strMessage.split(flag);
if (aryMessage.length == 1){
//没有结束标志则缓存后等待下一次接收数据
data += strMessage;
return;
}
else{
data += aryMessage[0];//添加上次还没接收完的数据
aryData.push(data);
for (var i:int = 1;i<aryMessage.length - 1;i++){
aryData.push(aryMessage[i]);//如果这次接收到的信息包含多条完整的数据,则添加进来
}
data = aryMessage[aryMessage.length -1];//缓存的数据变成剩余为接收完整的数据
}
//本次接收到多少完整的数据,遍历执行
for (var k:int = 0;k<aryData.length;k++){
var jsonObj:Object = JSON.decode(aryData[0].toString());
Debug.trace(jsonObj.cmd);
}
分享到:
相关推荐
Socket的基本用法,感觉不错就放着了,希望更多的人看到
封装了Socket的实例代码,功能强大,是初学者不可多得的Socket编程学习资料。
免费分享一下关于Linux下socket编程的基本原理和相关函数的解析,还有一下其他的体会,如有不对的地方请指正。
本资源社和初学者进行参考,本人也是初学者,欢迎提出意见进行交流.
Android初学心得
Socket编程适合初学者 Socket编程适合初学者
delphi中基于Socket的一对一聊天程序(含源码,适合初学者)
python初学者心得(4篇)
Oracle的初学者入门心得,详细讲解了学习ORACLE的心得体会,讲了那些是重点学习的
简单实现了socket通信功能,适合socket初学者用来学习和理解socket,也是本人以前学习socket的时候入门的例子,希望对大家有用
sw..JSP初学心得
初学者版本,最简单的socket 链接,有自己学习过程中的遇到问题和知识点解释
一个简单的Android项目 基于Socket聊天 简单的实现了下 界面等是很美观 但是代码简单 方便 一看即懂 适合初学Socket机制的童鞋 大神切莫下载 不想找喷 注意:接收Button点击后可以接收服务器键盘输出的数据 但是...
Oracle初学者的入门心得
项目描述:一款模拟群体聊天室的应用,该应用提供给用户一个群体聊天的平台...这也是我初涉猎socket聊天领域写的第一个程序,功能不多,只是局域网内聊天,虽然代码结构不成熟,但是对于初学iOS的童鞋还是挺容易理解的。
编译:当前目录 javac -d . *.java 开两CMD 一个java MyServer 一个java MyClient
NET下的socket通信C#源代码(试用于socket初学)
简单实现了socket单项通信,初学socket成果,分享出来。
简单的 C++ MFC socket 通讯 适合初学者学习 下载后直接可在VS上运行
如果是初学C语言请看完 一些成功人士的心得 今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所有的数字化信息,不论是一段程序,...