错误纠正 上一篇还有个错误,就是客户端写数据时服务端不需要响应,但我的服务端响应了的。我选择改客户端,把写数据时接收到的响应丢弃。 PrintBytes(ADUMessage.Serialze(request), "请求"); if (Client != null) { await Client.Client.SendAsync(new Memory<byte>(ADUMessage.Serialze(request))); //丢弃可能的响应 await WebSocket.ReceiveAsync(new ArraySegment<byte>(new byte[1024*4]), CancellationToken.None); } 现在我们同时有了服务器和客户端,就可以在tcp连接上面覆盖一个websocket连接,然后用WebSocket传递Modbus数据帧。 效果 这是基于WebSocket连接的modbus通信,读写都没问题 服务器 客户端 主程序改造 我们的服务器和客户端可以自由选择使用TCP或者WebSocket通信,所以 需要提供对应的命令行参数...