在 Dart 中,Socket
类用于实现网络通信,支持通过 TCP 连接进行数据传输。
基本用法如下:
1. 创建 Socket
客户端 Socket
import 'dart:io';
void main() async {
// 创建一个 TCP 客户端 Socket 连接到指定的主机和端口
Socket socket = await Socket.connect('localhost', 8080);
print('Connected to: ${socket.remoteAddress.address}:${socket.remotePort}');
// 发送数据
socket.write('Hello, Server!');
// 监听来自服务器的响应
socket.listen((data) {
print('Received: ${String.fromCharCodes(data)}');
});
// 关闭 Socket
socket.close();
}
服务器 Socket
import 'dart:io';
void main() async {
// 创建一个 TCP 服务器 Socket 监听指定的端口
ServerSocket server = await ServerSocket.bind(InternetAddress.loopbackIPv4, 8080);
print('Listening on: ${server.address.address}:${server.port}');
// 监听传入的连接
server.listen((Socket client) {
print('Connection from: ${client.remoteAddress.address}:${client.remotePort}');
// 监听客户端发送的数据
client.listen((data) {
print('Received: ${String.fromCharCodes(data)}');
// 发送响应
client.write('Hello, Client!');
});
});
}
网友评论