# tcpsocket **Repository Path**: jack_cheng/tcpsocket ## Basic Information - **Project Name**: tcpsocket - **Description**: flutter tcp socket ,支持断线重连 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-18 - **Last Updated**: 2022-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flutter 连接TCP服务器 ## 功能 * 支持断线重连机制 * 可以指定断线重连次数和重连的时间间隔 ## 安装插件 ```yaml dart_api: git: url: git@192.168.3.197:flutter_plugins/tcpsocket.git ref: master ``` ## 使用 ### 默认配置为json协议 ```dart final sock = SocketClient("127.0.0.1", 8081, onConnect: (client) { debugPrint("onConnected"); client.send({ 'name': "login", 'data': {"uid": 123, "roomid": "123456"} }); }, onData: (client, cmd) { debugPrint("onData= $cmd"); // client.close(); }); sock.connect(); debugPrint("sock.host= ${sock.host}"); debugPrint("sock.reconnectCount= ${sock.reconnectCount}"); debugPrint("sock.reconnectInterval= ${sock.reconnectInterval}"); debugPrint("sock.port= ${sock.port}"); ``` ### 使用msgpack协议 ```dart final sock = SocketClient("127.0.0.1", 8081, onConnect: (client) { debugPrint("onConnected"); client.send({ 'name': "login", 'data': {"uid": 123, "roomid": "123456"} }); }, onData: (client, cmd) { debugPrint("onData= $cmd"); // client.close(); },useMsgPack:true); sock.connect(); debugPrint("sock.host= ${sock.host}"); debugPrint("sock.reconnectCount= ${sock.reconnectCount}"); debugPrint("sock.reconnectInterval= ${sock.reconnectInterval}"); debugPrint("sock.port= ${sock.port}"); ``` ### 重连配置 > 默认无限次重连,重连时间间隔为3秒 ```dart final sock = SocketClient("127.0.0.1", 8081, onConnect: (client) { debugPrint("onConnected"); client.send({ 'name': "login", 'data': {"uid": 123, "roomid": "123456"} }); }, onData: (client, cmd) { debugPrint("onData= $cmd"); // client.close(); },onDone: (client){ debugPrint("onDone"); },reconnectCount: 3,reconnectInterval: 10000); sock.connect(); debugPrint("sock.host= ${sock.host}"); debugPrint("sock.reconnectCount= ${sock.reconnectCount}"); debugPrint("sock.reconnectInterval= ${sock.reconnectInterval}"); debugPrint("sock.port= ${sock.port}"); ```