# waterpolo-network

NetWork: TCP/UDP/IPINFO

## 安装

```bash
npm install waterpolo-network
npx cap sync
```

## 简化API用法

### 获取本机IP
```ts
const info = await NetWork.getIpInfo();
// info: { ip: string, ipv4: string, ipv6: string }
```

### 一行切换TCP/UDP，收发数据
```ts
import { NetWork } from 'waterpolo-network';

// 建立连接（type: 'tcp' 或 'udp'）
await NetWork.connect({ type: 'tcp', ip: '192.168.1.100', port: 9000 });

// 监听数据
NetWork.addListener('data', data => {

});

// 发送数据
await NetWork.send({ data: { foo: 123, bar: 'abc' } });

// 断开连接
await NetWork.disconnect();
```

- 只需指定 type、ip、port，自动建立 TCP 或 UDP 连接。
- send/onData/断开，全部自动分流，无需关心底层协议。
- 每次 connect 会自动关闭之前所有连接。

### 其他API

#### echo
```ts
const res = await NetWork.echo({ value: 'hello' });
console.log(res.value);
```

#### getIpInfo
```ts
const info = await NetWork.getIpInfo();
console.log(info);
```

---

> 旧版API（createTcpConnection、createUdpConnection、sendTcpData、sendUdpData等）已被统一简化为上述接口，建议全部使用新接口。
