标签存档: NetConnection

[转]Java socket – 套接字基础

套接字处理代码只存在于表示层中

转自:http://caihx.javaeye.com/blog/605143

套接字基础
1. 介绍

多数程序员,不管他们是否使用 Java 语言进行编码,都不想很多知道关于不同计算机上的应用程序彼此间如何通信的低级细节。程序员们希望处理更容易理解的更高级抽象。Java 程序员希望能用他们熟悉的 Java 构造,通过直观接口与对象交互。

套接字在两个领域中都存在 ― 我们宁愿避开的低级细节和我们更愿处理的抽象层。本教程讨论的低级细节将只限于理解抽象应用程序所必须的部分。 继续阅读 »

[转]Http和Socket连接区别

转自:http://blog.csdn.net/zsnlovewl/archive/2009/12/12/4991820.aspx

1、TCP连接

要想明白Socket连接,先要明白TCP连接。手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。

建立起一个TCP连接需要经过“三次握手”:

第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 继续阅读 »

在Flex2中使用NetConnection的一些注意事项

在使用ActionScript3的NetConnection类连接Flash Media Server或者Remoting的时候,需要注意以下几点:

1.注意设定AMF版本
ActionScript3默认使用的是AMF3,而ActionScript2和ActionScript1使用的是AMF0,如果不指定NetConnection的AMF版本,就会出现连接失败。指定的方法如下:

?View Code ACTIONSCRIPT
NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;

上面的代码会修改所有的NetConnection实例的默认AMF版本。
如果只需要修改一个NetConnection实例的AMF版本,代码如下:

?View Code ACTIONSCRIPT
public var NC:flash.net.NetConnection;
NC = new NetConnection();
NC.objectEncoding = flash.net.ObjectEncoding.AMF0;

2.获取onStatus状态值
在ActionScript2中的方法已经不能使用,要获取NetConnection实例的连接状态,必须使用NetStatusEvent事件类,代码如下: 继续阅读 »

关闭聊天室窗口NetConnection不断开的问题及其解决

问题:

将一个视频聊天室系统从FCS升级到FMS,目前的客户端是Flash player 8,客人从浏览器登陆后,选择一个聊天室进入,此时会弹出一个新窗口,聊天室就在新窗口中。但是当关闭聊天室的时候,却并没有触发FMS程序中的onDisConnect事件,客人仍然可以听到聊天室中的声音,必须关闭所有的浏览器窗口,才会完全退出聊天室。

继续阅读 »