Package | laya.net |
Class | public class Socket |
Inheritance | Socket EventDispatcher Object |
Socket
封装了 HTML5 WebSocket ,允许服务器端与客户端进行全双工(full-duplex)的实时通信,并且允许跨域通信。在建立连接后,服务器和 Browser/Client Agent 都能主动的向对方发送或接收文本和二进制数据。
要使用 Socket
类的方法,请先使用构造函数 new Socket
创建一个 Socket
对象。 Socket
以异步方式传输和接收数据。
Property | Defined 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 |
Method | Defined By | ||
---|---|---|---|
Socket(host:String = null, port:int = 0, byteClass:Class = null)
创建新的 Socket 对象。默认字节序为 Socket.BIG_ENDIAN 。若未指定参数,将创建一个最初处于断开状态的套接字。若指定了有效参数,则尝试连接到指定的主机和端口。
注意:强烈建议使用不带参数的构造函数形式,并添加任意事件侦听器和设置 protocols 等属性,然后使用 host 和 port 参数调用 connect 方法。此顺序将确保所有事件侦听器和其他相关流程工作正常。
| Socket | ||
cleanSocket():void
清理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 | ||
event(type:String, data:* = null):Boolean
派发事件。
| EventDispatcher | ||
flush():void
发送缓冲区中的数据到服务器。
| Socket | ||
hasListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
| EventDispatcher | ||
isMouseEvent(type:String):Boolean
检测指定事件类型是否是鼠标事件。
| EventDispatcher | ||
off(type:String, caller:*, listener:Function, onceOnly:Boolean = false):EventDispatcher
从 EventDispatcher 对象中删除侦听器。
| EventDispatcher | ||
offAll(type:String = null):EventDispatcher
从 EventDispatcher 对象中删除指定事件类型的所有侦听器。
| EventDispatcher | ||
on(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
使用 EventDispatcher 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知。
| EventDispatcher | ||
once(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
使用 EventDispatcher 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知,此侦听事件响应一次后自动移除。
| EventDispatcher | ||
send(data:*):void
发送数据到服务器。
| Socket |
Event | Summary | Defined By | ||
---|---|---|---|---|
连接被关闭后调度。 | Socket | |||
出现异常后调度。 | Socket | |||
接收到数据后调度。 | Socket | |||
连接建立成功后调度。 | Socket |
Constant | Defined By | ||
---|---|---|---|
BIG_ENDIAN : String = bigEndian [static]
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。
BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。
LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
| Socket | ||
LITTLE_ENDIAN : String = littleEndian [static]
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。
LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。
| Socket |
connected | property |
connected:Boolean
[read-only] 表示此 Socket 对象目前是否已连接。
public function get connected():Boolean
disableInput | property |
public var disableInput:Boolean = false
不再缓存服务端发来的数据。
endian | property |
endian:String
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。
LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。
public function get endian():String
public function set endian(value:String):void
input | property |
input:*
[read-only] 缓存的服务端发来的数据。
public function get input():*
output | property |
output:*
[read-only] 表示需要发送至服务端的缓冲区中的数据。
public function get output():*
protocols | property |
public var protocols:*
子协议名称。子协议名称字符串,或由多个子协议名称字符串构成的数组。必须在调用 connect 或者 connectByUrl 之前进行赋值,否则无效。
指定后,只有当服务器选择了其中的某个子协议,连接才能建立成功,否则建立失败,派发 Event.ERROR 事件。
See also
Socket | () | Constructor |
public function Socket(host:String = null, port:int = 0, byteClass:Class = null)
创建新的 Socket 对象。默认字节序为 Socket.BIG_ENDIAN 。若未指定参数,将创建一个最初处于断开状态的套接字。若指定了有效参数,则尝试连接到指定的主机和端口。
注意:强烈建议使用不带参数的构造函数形式,并添加任意事件侦听器和设置 protocols 等属性,然后使用 host 和 port 参数调用 connect 方法。此顺序将确保所有事件侦听器和其他相关流程工作正常。
Parametershost:String (default = null ) — 服务器地址。
| |
port:int (default = 0 ) — 服务器端口。
| |
byteClass:Class (default = null ) — 用于接收和发送数据的 Byte 类。如果为 null ,则使用 Byte 类,也可传入 Byte 类的子类。
|
See also
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。
|
close | Event |
error | Event |
message | Event |
open | Event |
BIG_ENDIAN | Constant |
public static const BIG_ENDIAN:String = bigEndian
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。
BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。
LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
LITTLE_ENDIAN | Constant |
public static const LITTLE_ENDIAN:String = littleEndian
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。
LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。