Packagelaya.net
Classpublic class Socket
InheritanceSocket Inheritance EventDispatcher Inheritance Object

Socket 封装了 HTML5 WebSocket ,允许服务器端与客户端进行全双工(full-duplex)的实时通信,并且允许跨域通信。在建立连接后,服务器和 Browser/Client Agent 都能主动的向对方发送或接收文本和二进制数据。

要使用 Socket 类的方法,请先使用构造函数 new Socket 创建一个 Socket 对象。 Socket 以异步方式传输和接收数据。



Public Properties
 PropertyDefined By
  connected : Boolean
[read-only] 表示此 Socket 对象目前是否已连接。
Socket
  disableInput : Boolean = false
不再缓存服务端发来的数据。
Socket
  endian : String
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。 BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。
Socket
  input : *
[read-only] 缓存的服务端发来的数据。
Socket
  output : *
[read-only] 表示需要发送至服务端的缓冲区中的数据。
Socket
  protocols : *
子协议名称。子协议名称字符串,或由多个子协议名称字符串构成的数组。必须在调用 connect 或者 connectByUrl 之前进行赋值,否则无效。 指定后,只有当服务器选择了其中的某个子协议,连接才能建立成功,否则建立失败,派发 Event.ERROR 事件。
Socket
Public Methods
 MethodDefined By
  
Socket(host:String = null, port:int = 0, byteClass:Class = null)
创建新的 Socket 对象。默认字节序为 Socket.BIG_ENDIAN 。若未指定参数,将创建一个最初处于断开状态的套接字。若指定了有效参数,则尝试连接到指定的主机和端口。 注意:强烈建议使用不带参数的构造函数形式,并添加任意事件侦听器和设置 protocols 等属性,然后使用 host 和 port 参数调用 connect 方法。此顺序将确保所有事件侦听器和其他相关流程工作正常。
Socket
  
清理socket。
Socket
  
close():void
关闭连接。
Socket
  
connect(host:String, port:int):void
连接到指定的主机和端口。 连接成功派发 Event.OPEN 事件;连接失败派发 Event.ERROR 事件;连接被关闭派发 Event.CLOSE 事件;接收到数据派发 Event.MESSAGE 事件; 除了 Event.MESSAGE 事件参数为数据内容,其他事件参数都是原生的 HTML DOM Event 对象。
Socket
  
connectByUrl(url:String):void
连接到指定的服务端 WebSocket URL。 URL 类似 ws://yourdomain:port。 连接成功派发 Event.OPEN 事件;连接失败派发 Event.ERROR 事件;连接被关闭派发 Event.CLOSE 事件;接收到数据派发 Event.MESSAGE 事件; 除了 Event.MESSAGE 事件参数为数据内容,其他事件参数都是原生的 HTML DOM Event 对象。
Socket
 Inherited
event(type:String, data:* = null):Boolean
派发事件。
EventDispatcher
  
flush():void
发送缓冲区中的数据到服务器。
Socket
 Inherited
hasListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
isMouseEvent(type:String):Boolean
检测指定事件类型是否是鼠标事件。
EventDispatcher
 Inherited
off(type:String, caller:*, listener:Function, onceOnly:Boolean = false):EventDispatcher
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
offAll(type:String = null):EventDispatcher
从 EventDispatcher 对象中删除指定事件类型的所有侦听器。
EventDispatcher
 Inherited
on(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
使用 EventDispatcher 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
once(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
使用 EventDispatcher 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知,此侦听事件响应一次后自动移除。
EventDispatcher
  
send(data:*):void
发送数据到服务器。
Socket
Events
 Event Summary Defined By
  连接被关闭后调度。Socket
  出现异常后调度。Socket
  接收到数据后调度。Socket
  连接建立成功后调度。Socket
Public Constants
 ConstantDefined By
  BIG_ENDIAN : String = bigEndian
[static] 主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。 BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
Socket
  LITTLE_ENDIAN : String = littleEndian
[static] 主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。 BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。
Socket
Property Detail
connectedproperty
connected:Boolean  [read-only]

表示此 Socket 对象目前是否已连接。


Implementation
    public function get connected():Boolean
disableInputproperty 
public var disableInput:Boolean = false

不再缓存服务端发来的数据。

endianproperty 
endian:String

主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。

LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。

BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。


Implementation
    public function get endian():String
    public function set endian(value:String):void
inputproperty 
input:*  [read-only]

缓存的服务端发来的数据。


Implementation
    public function get input():*
outputproperty 
output:*  [read-only]

表示需要发送至服务端的缓冲区中的数据。


Implementation
    public function get output():*
protocolsproperty 
public var protocols:*

子协议名称。子协议名称字符串,或由多个子协议名称字符串构成的数组。必须在调用 connect 或者 connectByUrl 之前进行赋值,否则无效。

指定后,只有当服务器选择了其中的某个子协议,连接才能建立成功,否则建立失败,派发 Event.ERROR 事件。

See also

Constructor Detail
Socket()Constructor
public function Socket(host:String = null, port:int = 0, byteClass:Class = null)

创建新的 Socket 对象。默认字节序为 Socket.BIG_ENDIAN 。若未指定参数,将创建一个最初处于断开状态的套接字。若指定了有效参数,则尝试连接到指定的主机和端口。

注意:强烈建议使用不带参数的构造函数形式,并添加任意事件侦听器和设置 protocols 等属性,然后使用 host 和 port 参数调用 connect 方法。此顺序将确保所有事件侦听器和其他相关流程工作正常。

Parameters
host:String (default = null) — 服务器地址。
 
port:int (default = 0) — 服务器端口。
 
byteClass:Class (default = null) — 用于接收和发送数据的 Byte 类。如果为 null ,则使用 Byte 类,也可传入 Byte 类的子类。

See also

Method Detail
cleanSocket()method
public function cleanSocket():void

清理socket。

close()method 
public function close():void

关闭连接。

connect()method 
public function connect(host:String, port:int):void

连接到指定的主机和端口。

连接成功派发 Event.OPEN 事件;连接失败派发 Event.ERROR 事件;连接被关闭派发 Event.CLOSE 事件;接收到数据派发 Event.MESSAGE 事件; 除了 Event.MESSAGE 事件参数为数据内容,其他事件参数都是原生的 HTML DOM Event 对象。

Parameters

host:String — 服务器地址。
 
port:int — 服务器端口。

connectByUrl()method 
public function connectByUrl(url:String):void

连接到指定的服务端 WebSocket URL。 URL 类似 ws://yourdomain:port。

连接成功派发 Event.OPEN 事件;连接失败派发 Event.ERROR 事件;连接被关闭派发 Event.CLOSE 事件;接收到数据派发 Event.MESSAGE 事件; 除了 Event.MESSAGE 事件参数为数据内容,其他事件参数都是原生的 HTML DOM Event 对象。

Parameters

url:String — 要连接的服务端 WebSocket URL。 URL 类似 ws://yourdomain:port。

flush()method 
public function flush():void

发送缓冲区中的数据到服务器。

send()method 
public function send(data:*):void

发送数据到服务器。

Parameters

data:* — 需要发送的数据,可以是String或者ArrayBuffer。

Event Detail
close Event
Event Object Type: laya.events.Event
Event.type property = Event.CLOSE

连接被关闭后调度。

error Event  
Event Object Type: laya.events.Event
Event.type property = Event.ERROR

出现异常后调度。

message Event  
Event Object Type: laya.events.Event
Event.type property = Event.MESSAGE

接收到数据后调度。

open Event  
Event Object Type: laya.events.Event
Event.type property = Event.OPEN

连接建立成功后调度。

Constant Detail
BIG_ENDIANConstant
public static const BIG_ENDIAN:String = bigEndian

主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。

BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。

LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。

LITTLE_ENDIANConstant 
public static const LITTLE_ENDIAN:String = littleEndian

主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。

LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。

BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。