RawSocketEvent 类
用于 RawDatagramSocket、RawSecureSocket 和 RawSocket 的事件。
当套接字状态变化时,这些事件对象由套接字的 Stream 行为(例如 RawSocket.listen、RawSocket.forEach)使用。
import 'dart:convert';
import 'dart:io';
void main() async {
final socket = await RawSocket.connect("example.com", 80);
socket.listen((event) {
switch (event) {
case RawSocketEvent.read:
final data = socket.read();
if (data != null) {
print(ascii.decode(data));
}
break;
case RawSocketEvent.write:
socket.write(ascii.encode('GET /\r\nHost: example.com\r\n\r\n'));
socket.writeEventsEnabled = false;
break;
case RawSocketEvent.readClosed:
socket.close();
break;
case RawSocketEvent.closed:
break;
default:
throw "Unexpected event $event";
}
});
}
属性
- hashCode → int
- 此对象的哈希码。no setter继承
- runtimeType → Type
- 对象的运行时类型的表示。no setter继承
方法
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
toString(
) → String - 此对象的字符串表示。override
操作符
-
operator ==(
Object other) → bool - 等于操作符。继承
常量
- closed → const RawSocketEvent
- 表示套接字已关闭的事件。
- read → const RawSocketEvent
- 表示套接字已准备好读取的事件。
- readClosed → const RawSocketEvent
- 表示从套接字读取已关闭的事件。
- write → const RawSocketEvent
- 表示套接字已准备好写入的事件。