// the find
dathlin/ClientServerProject
一个C-S模版,该模版由三部分的程序组成,一个服务端运行的程序,一个客户端运行的程序,还有一个公共的组件,实现了基础的账户管理功能,版本控制,软件升级,公告管理,消息群发,共享文件上传下载,批量文件传送功能。具体的操作方法见演示就行。本项目的一个目标是:提供一个基础的中小型系统的C-S框架,客户端有三种模式,无缝集成访问,winform版本,wpf版本,asp.net mvc版本,方便企业进行中小型系统的二次开发和个人学习。同时网络组件方便的支持读写三菱和西门子PLC的数据,详细见Readme
A C/S (client-server) application template for .NET/WinForms/WPF targeting Chinese enterprise internal tooling — accounts, announcements, file sharing, chat, auto-update. The standout piece is HslCommunication, the author's own library for talking to Mitsubishi/Siemens/Omron PLCs over Modbus/Profinet, which is what actually makes this useful beyond a generic login scaffold.
The PLC communication support is the real value here — Mitsubishi MC protocol, Siemens S7, Modbus TCP in one library is genuinely hard to find in .NET. The auto-update mechanism (server pushes version, clients pull and reinstall) is baked in from the start rather than bolted on. Four client targets from one codebase — WinForms, WPF, ASP.NET MVC, Android — with a shared account model is a reasonable architecture for small shop internal tools. The logging design routes client exceptions back to the server, which is the right call for deployed factory-floor software where you can't RDP in.
Last commit was February 2019, targeting .NET Framework 3.5/4.5 and VS2017 — this is effectively abandonware against modern .NET, and any shop adopting it is inheriting a migration project alongside the feature work. Account storage is flat JSON files managed by the server process, not a database — that falls apart the moment you have concurrent writes or need an audit trail. The SQL Server support file exists but the main template ignores it in favor of JSON, which is the wrong default for anything beyond a demo. Security is not addressed: the README shows default credentials (admin/123456) and there's no indication of proper password hashing or transport encryption in the custom TCP protocol.