对象 Socket

网络套接口对象

Socket 属于 net 模块,创建方法

var s = new net.Socket();

继承关系

构造函数

Socket

Socket 构造函数,创建一个新的 Socket 对象

new Socket(Integer family = net.AF_INET,
    Integer type = net.SOCK_STREAM);

调用参数:

成员属性

family

Integer, 查询当前 Socket 对象的地址集

readonly Integer Socket.family;

type

Integer, 查询当前 Socket 对象的协议族

readonly Integer Socket.type;

remoteAddress

String, 查询当前连接的对方地址

readonly String Socket.remoteAddress;

remotePort

Integer, 查询当前连接的对方端口

readonly Integer Socket.remotePort;

localAddress

String, 查询当前连接的本地地址

readonly String Socket.localAddress;

localPort

Integer, 查询当前连接的本地端口

readonly Integer Socket.localPort;

timeout

Integer, 查询和设置超时时间 单位毫秒

Integer Socket.timeout;

成员函数

connect

建立一个 tcp 连接

Socket.connect(String host,
    Integer port) async;

调用参数:


bind

将当前 Socket 绑定至本地所有地址的指定端口

Socket.bind(Integer port,
    Boolean allowIPv4 = true) async;

调用参数:


将当前 Socket 绑定至指定地址的指定端口

Socket.bind(String addr,
    Integer port,
    Boolean allowIPv4 = true) async;

调用参数:


listen

开始监听连接请求

Socket.listen(Integer backlog = 120) async;

调用参数:


accept

等待并接受一个连接

Socket Socket.accept() async;

返回结果:


recv

从连接读取指定大小的数据,不同于 read 方法,recv 并不保证读完要求的数据,而是在读取到数据后立即返回

Buffer Socket.recv(Integer bytes = -1) async;

调用参数:

返回结果:


recvfrom

读取一个 UDP 包

DatagramPacket Socket.recvfrom(Integer bytes = -1) async;

调用参数:

返回结果:


send

将给定的数据写入连接,此方法等效于 write 方法

Socket.send(Buffer data) async;

调用参数:


sendto

向给定 ip:port 发送一个 UDP 包

Socket.sendto(Buffer data,
    String host,
    Integer port) async;

调用参数:


read

从流内读取指定大小的数据

Buffer Socket.read(Integer bytes = -1) async;

调用参数:

返回结果:


write

将给定的数据写入流

Socket.write(Buffer data) async;

调用参数:


close

关闭当前流对象

Socket.close() async;

copyTo

复制流数据到目标流中

Long Socket.copyTo(Stream stm,
    Long bytes = -1) async;

调用参数:

返回结果:


dispose

强制回收对象,调用此方法后,对象资源将立即释放

Socket.dispose();

equals

比较当前对象与给定的对象是否相等

Boolean Socket.equals(object expected);

调用参数:

返回结果:


toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

String Socket.toString();

返回结果:


toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

Value Socket.toJSON(String key = "");

调用参数:

返回结果:


valueOf

返回对象本身的数值

Value Socket.valueOf();

返回结果: