一款功能强大的跨平台网络调试工具,支持串口通信、TCP服务端、TCP客户端和UDP协议调试。
| 协议 | 功能说明 |
|---|---|
| 串口 | 支持串口设备连接、波特率配置 |
| TCP服务端 | 创建服务器,接收多个客户端连接 |
| TCP客户端 | 连接远程TCP服务器 |
| UDP | 支持点对点UDP通信 |
- 数据收发 - 支持文本和16进制格式的数据收发
- 编码支持 - UTF-8 编码选项
- 显示控制 - 接收自动换行、自动滚屏功能
- 流量统计 - 实时显示收发字节数,支持计数复位
- 配置保存 - 自动保存用户设置到本地配置文件
┌─────────────────────────────────────────────────────────────┐
│ [串口] [TCP服务端] [TCP客户端] [UDP] [关于] │
├─────────────────────────────────────────────────────────────┤
│ 状态消息栏 │
├──────────┬──────────────────────────────────────────────────┤
│ │ │
│ 串口设备 │ 数据接收区域 │
│ 波特率 │ │
│ ────── │ │
│ 启动连接 │ │
│ ────── │ │
│ 16进制接收│ │
│ 16进制发送│ │
│ UTF-8编码│──────────────────────────────────────────────────│
│ ────── │ 数据发送区域 │
│ 接收自动换行│ │
│ 接收自动滚屏│────────────────────────────────────────────────│
│ │ [清除接收] [清除发送] [发送数据] │
├──────────┴──────────────────────────────────────────────────┤
│ Rx:0B Tx:0B [复位计数↺] │
└─────────────────────────────────────────────────────────────┘
NetAssist/
├── NetAssist/ # 核心项目
│ ├── Models/
│ │ └── ConfigSet.cs # 用户配置数据模型
│ ├── ViewModels/
│ │ ├── MainWindowViewModel.cs # 主窗口视图模型
│ │ └── ViewModelBase.cs # 视图模型基类
│ ├── Views/
│ │ └── MainWindow.axaml # 主窗口界面设计
│ ├── Utility/
│ │ └── HexStringConvert.cs # 16进制字符串转换工具
│ ├── Properties/
│ │ └── Resources.Designer.cs # 资源文件
│ └── App.axaml # 应用程序配置
├── NetAssist.Desktop/ # 桌面启动项目
│ └── Program.cs # 程序入口
├── NetAssist.sln # 解决方案文件
└── UserSetting.json # 用户配置文件
| 组件 | 版本 |
|---|---|
| 框架 | .NET 7.0 |
| UI框架 | Avalonia 11.0 |
| 开发工具 | Visual Studio 2022 |
- MVVM模式 - 采用 Model-View-ViewModel 架构分离界面与业务逻辑
- 跨平台 - 基于 Avalonia UI 实现 Windows、macOS、Linux 多平台支持
- .NET 7.0 SDK 或更高版本
- Visual Studio 2022 (推荐)
# 克隆项目 git clone <repository-url> cd NetAssist # 编译项目 dotnet build # 运行项目 dotnet run --project NetAssist.Desktop
- 选择串口设备
- 设置波特率
- 点击开关连接串口
- 在发送区域输入数据,点击"发送数据"
- 接收数据将显示在上方文本区域
- 选择本机地址
- 设置监听端口
- 开启服务端,等待客户端连接
- 连接建立后即可收发数据
- 输入服务器地址和端口
- 点击开关连接服务器
- 连接成功后即可进行数据收发
- 设置本机地址和端口
- 设置远端地址和端口
- 开启UDP接收
- 即可收发UDP数据报
用户配置文件 UserSetting.json 会自动保存在程序运行目录,包含以下设置:
- 各协议的连接参数(地址、端口等)
- 收发格式设置(16进制、UTF-8等)
- 显示选项(自动换行、自动滚屏)
- 发送文本历史
- 在
ConfigSet.cs中添加配置项 - 在
MainWindowViewModel.cs中添加视图模型属性 - 在
MainWindow.axaml中设计界面 - 在对应的 Code-Behind 中实现业务逻辑
使用 HexStringConvert 工具类进行16进制字符串与字节数组的转换:
// 字符串转字节数组 byte[] data = HexStringConvert.HexStringToBytes("A0 FF CE"); // 字节数组转字符串 string hex = BytesToHexString(data, 0, data.Length);
本项目采用 MIT 许可证,详见 LICENSE 文件。
- 开发者:leid
- 框架:.NET + Avalonia
- 编译时间:请查看程序"关于"页面