Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5104387
  • 博文数量: 921
  • 博客积分: 16037
  • 博客等级: 上将
  • 技术积分: 8469
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 02:08
文章分类

全部博文(921)

文章存档

2020年(1)

2019年(3)

2018年(3)

2017年(6)

2016年(47)

2015年(72)

2014年(25)

2013年(72)

2012年(125)

2011年(182)

2010年(42)

2009年(14)

2008年(85)

2007年(89)

2006年(155)

发布时间:2013-01-01 16:18:03

文章来自:http://1234n.com/?post/fpkzlc   今天和阿灿为项目做一个多人在线行走的Demo,在Flash端遇到数据“粘包”的问题,下面记录一下原理和处理办法。 什么是“粘包”呢?粘包是指数据发送端希望接受端收到的数据包因为网络的“流”特性,使得连续的数据包的字节连贯在一起,导致接收端无法以数据包为单位处理数据的情况。 打个比方吧,A和B两个人通过一根水管互相传递水,他们通过每次接到的水的重量来判断对方表达的意思。如果A连续乘了不同重量的几杯水倒入水管中传递给B,B那一头打开水龙头接到的只能是连贯的水流,而不是一杯杯的水,数据在网络上传递也是同样......【阅读全文】

阅读(1237) | 评论(0) | 转发(0)

发布时间:2013-01-01 16:11:18

晚上做了下实验,Erlang端用{packet,2}格式,Flash端使用writeUTF和readUTF函数,正好格式一致,不需要自己解析两个字节长度信息。 Erlang端的代码: -module(server). -export([start/1, server_proc/1]). start (Port) ->     {ok, Sock} = gen_tcp:listen(Port, [binary, {packet, 2}, {active, false}]),    &nbs......【阅读全文】

阅读(1432) | 评论(0) | 转发(0)

发布时间:2013-01-01 16:00:53

文章来自http://1234n.com/?post/hvtqnu 前一次实验,我使用的是本地swf文件,所以没有遇到安全沙箱问题,但在实际环境中我们的Flash文件是通过URL引用的,这时候Flash的Socket通讯会受到安全沙箱机制的限制。具体原理是:Flash在尝试向服务器A发起Socket连接前,会先尝试连接服务器A的843端口,求情一个xml格式的安全策略文件,该文件告诉Flash是否有权限向服务器A发起Socket连接。所以,我们需要在Erlang端增设一个守候在843端口的安全策略文件服务器。 此次实验的Erlang代码:   -module(se......【阅读全文】

阅读(926) | 评论(0) | 转发(0)

发布时间:2013-01-01 15:33:40

erlang服务端,主要实现与flash客户端的连接、消息传递服务自带843端口服务解决flash9以上暴汗的安全沙箱问题chat.erl -module(chat). -export([start/0,manage_clients/1,stop/0,find/1]). -record(player, {id,socket,time=none}). start() ->         chat_server:start(?MODULE,manage_clients). stop......【阅读全文】

阅读(1847) | 评论(0) | 转发(0)

发布时间:2013-01-01 15:22:59

erlang服务端,主要实现与flash客户端的连接、消息传递服务自带843端口服务解决flash9以上暴汗的安全沙箱问题 chat.erl -module(chat). -export([start/0,manage_clients/1,stop/0,find/1]). -record(player, {id,socket,time=none}). start() ->         chat_server:start(?MODULE,manage_clients). ......【阅读全文】

阅读(911) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册