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
- 该对象的哈希码。无设置器继承
- runtimeType → Type
- 对象运行时类型的表示。无设置器继承
方法
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。继承
-
toString(
) → String - 该对象的字符串表示。覆盖
运算符
-
operator ==(
Object other) → bool - 等价运算符。继承
常量
- closed → const RawSocketEvent
- 指示套接字已关闭的事件。
- read → const RawSocketEvent
- 指示套接字准备好读取的事件。
- readClosed → const RawSocketEvent
- 指示从套接字读取已关闭的事件。
- write → const RawSocketEvent
- 指示套接字准备好写入的事件。