演示视频
下载
以下是服务端与客户端程序的 README 文档:
TCP 服务端与客户端程序
简介
这是一个基于 TCP 协议的服务端和客户端程序。服务端监听指定的端口,接受客户端连接,并接收和处理客户端发送的系统信息和命令。客户端会发送系统信息,包括 CPU 信息、内存信息、磁盘信息、网卡 MAC 地址等,定时发送 PING 信息以保持连接。
服务端
功能
- 接受客户端连接,并接收客户端发送的系统信息。
- 定时每 10 秒钟发送一次 PING 给在线客户端,检测连接状态,异常则从列表中删除该客户端。
- 提供命令行交互界面,支持查看连接的客户端列表,搜索客户端信息等功能。
编译与运行
编译服务端程序:
go build -o server server.go
运行服务端程序:
./server -h <监听IP> -p <监听端口>
参数说明:
-h
:监听的 IP 地址,默认为0.0.0.0
。-p
:监听的端口,默认为4000
。
示例命令
列出所有连接的客户端:
list
搜索客户端信息:
search <关键字>
连接到指定客户端:
connect <客户端编号>
客户端
功能
- 连接到指定的服务端地址和端口。
- 发送系统信息,包括 CPU 信息、内存信息、磁盘信息、物理网卡的 MAC 地址等。
- 接收并执行服务端发送的命令,并返回命令执行结果。
编译与运行
编译客户端程序:
go build -o client client.go
运行客户端程序:
./client -h <服务端IP> -p <服务端端口>
参数说明:
-h
:服务端 IP 地址,默认为127.0.0.1
。-p
:服务端端口,默认为4000
。
代码结构
服务端
server.go
:服务端主程序,包含客户端连接管理、命令处理等功能。
客户端
client.go
:客户端主程序,包含系统信息采集、命令接收与执行等功能。
示例
运行服务端
./server -h 0.0.0.0 -p 4000
运行客户端
./client -h 127.0.0.1 -p 4000
服务端命令行示例
> list
连接的客户端列表:
客户端 1: 127.0.0.1:53251, 系统信息: CPU: ...
> search Intel
搜索结果:
客户端 1 系统信息:
IP地址和端口: 127.0.0.1:53251
CPU: Model: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz, ...
Memory: 16384MB
Disk: 512GB
...
通过以上步骤和命令,您可以编译并运行该 TCP 服务端与客户端程序,并使用命令行接口与客户端进行交互。