linux系统编程小项目 socket 编程
一、项目概述:简单智能远程监控
功能: 服务器端:
1、服务器端利用随机数模拟向串口读取传感数据,需要模拟的传感数据要求有:温度、湿度、光 照、室内噪音度等等。
2、服务器要求在数据保中保存有采集传感数据的日期和时间。
3、服务器利用网络接收客户端发送过来的设备控制信号,通过写驱动,实现对底层硬件的控制, 这里使用打印显示的方式模拟。
4、在进程之间IPC 通信时,要求使用文件锁或信号量实现资源保护。
客户端:
1、客户端能够通过网络通信实现接收服务器端传输过来的传感数据,并将传感数据打印到屏幕上 显示。
2、客户端能够从键盘输入控制信号,并且通信将控制信号发送给服务器。
3、客户端要求实现控制信号有,开灯、关灯,开风扇、关风扇,开窗、关窗,开空调、关空调等。
4、如果有安卓客户端的话,要求能与安卓客户端通信。
实现: 服务器端:
1、利用linux C 实现服务器;
2、服务器端使用多进程实现多客户网络服务;
3、服务器多个进程之间需要使用IPC 通信(进程间通信); 客户端:
1、在linux C 下实现网络客户端;
2、为了实现同时读阻塞的键盘和阻塞的网络,使用多路IO (select 或POLL 机制)实现阻塞的读键盘和 读网络。
服务器客户端的网络通信:
1、这里要求采用TCP 协议进行通信,实现所要求的S/C 模式,并且要求实现多客户服务。 图示:
应用 OS 硬件 感知 控制 网络 手机 物 嵌入式设备
手机