From c071a52385b863c7fd570e9e32b75856f10cdc1f Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Wed, 3 Sep 2025 10:04:38 +0000 Subject: [PATCH] Update README.md --- README.md | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/README.md b/README.md index e69de29..0f2e5df 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,81 @@ +# Longbow.Extensions + +这是一个基于 .NET 的扩展库项目,包含了多个用于简化开发的扩展方法和工具类。该项目主要包含以下功能模块: + +- **Longbow.Modbus**:提供 Modbus 协议相关的客户端实现和工厂模式支持。 +- **Longbow.Socket**:提供强大的 Socket 通信支持,包括数据包适配器、数据转换器、数据处理器等。 +- **Longbow.TcpSocket**:提供 TCP Socket 客户端实现和连接管理,支持自动重连、数据发送接收等功能。 +- **测试模块**:提供完整的单元测试,确保代码质量。 + +## 安装 + +你可以通过 NuGet 安装 Longbow.Extensions: + +```bash +dotnet add package Longbow.Extensions +``` + +或者通过 Visual Studio 的 NuGet 包管理器安装。 + +## 使用示例 + +### 使用 Modbus 客户端 + +```csharp +using Longbow.Modbus; + +var factory = new DefaultModbusFactory(provider); +var client = factory.GetOrCreate("MyModbusClient", options => +{ + options.RemoteEndPoint = new IPEndPoint(IPAddress.Parse("192.168.0.1"), 502); +}); + +// 读取线圈 +var coils = await client.ReadCoilsAsync(1, 0, 10); +``` + +### 使用 TCP Socket 客户端 + +```csharp +using Longbow.TcpSocket; + +var factory = new DefaultTcpSocketFactory(provider); +var client = factory.GetOrCreate("MyTcpClient", options => +{ + options.RemoteEndPoint = new IPEndPoint(IPAddress.Parse("192.168.0.1"), 8080); +}); + +await client.ConnectAsync(CancellationToken.None); + +// 发送数据 +await client.SendAsync("Hello, TCP!".AsMemory()); + +// 接收数据 +var response = await client.ReceiveAsync(CancellationToken.None); +``` + +### 使用数据转换器 + +```csharp +using Longbow.Socket.DataConverters; + +var converter = new DataConverter(new DataConverterCollections()); +var data = new byte[] { 0x01, 0x02, 0x03, 0x04 }; + +if (converter.TryConvertTo(data, out var entity)) +{ + Console.WriteLine(entity); +} +``` + +## 贡献指南 + +欢迎贡献代码和改进文档。请参考 [CONTRIBUTING.md](CONTRIBUTING.md) 获取更多信息。 + +## 许可证 + +该项目使用 MIT 许可证。详情请查看 [LICENSE](LICENSE) 文件。 + +## 联系我们 + +如果你有任何问题或建议,请提交 [Issue](https://gitee.com/LongbowEnterprise/Longbow.Extensions/issues) 或联系项目维护者。 \ No newline at end of file -- Gitee