ServerSocket
void main() async { ServerSocket serverSocket = await ServerSocket.bind("localhost", 8888); serverSocket.listen((Socket client) { client.write("ok"); client.close(); }); }
Socket
Future<void> main() async { Socket socket = await Socket.connect("localhost", 8888); socket.listen((data) { print(String.fromCharCodes(data)); }, onDone: (){ socket.destroy(); }); }
判定某个端口是否被占用
/// port为0的时候会随机返回一个没用过的port Future<int> getUnusedPort(int initPort)async { int port; ServerSocket serverSocket; try{ serverSocket = await ServerSocket.bind("localhost", initPort); port = serverSocket.port; await serverSocket.close(); }on Exception{ port = -1; } return port; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步