源码下载地址为:
http://download.csdn.net/detail/qq78442761/9856423
---------------------------------------------------------------------------------------------------------------------------------------------------------
设计题目为:
【题目】客户与服务器程序的同步与通信机制的设计
【内容】设计一个具体的应用场景(比如:电子交易)和两个交互进程,一个服务者进程和一个调用者进程,消息格式和内容自行设定,通过显示结果分析程序的正确性。
这是题目,现在来分析下:
问题1:客户与服务器程序的同步?
答:通过发数据包,实现客户机与服务器的通信,并且要消耗服务器上的产品,而服务器上的产品,一般用静态函数和成员存储,所以可以加一个互斥锁,实现不被cpu打断,也可以防止数据读取或加减异常。
问题2:通信机制的设计?
答:这里面我采用了TCP连接。更具TCP包的data的数据位中第第一位判断协议(如data第一位为A,则同步客户端;B为减少服务器资源等等)。
程序如下:
下面是程序运行截图(打开服务器,客户机连接):
当服务器产品增加的时候:
客户机每秒消耗资源截图:
服务器每秒加1个资源,客户机每秒消耗3个(3个客户机,每秒1个)时的截图:
此时,我们可以看见都正常的,但现在客户机每0.01秒一个数据包,对服务器进行消耗资源:
此行我们发现服务器上的产品数量和客户机的不同步,现在我们开启主动同步(类似于轮询,服务器主动给客户机通信说我现在没有资源了):
此时就实现了同步:
那么这个题目:
【题目】客户与服务器程序的同步与通信机制的设计
【内容】设计一个具体的应用场景(比如:电子交易)和两个交互进程,一个服务者进程和一个调用者进程,消息格式和内容自行设定,通过显示结果分析程序的正确性。
也就完成了。
下面我将会对此程序进行拆分,下面一节讲解程序的TCP讲解。
IDE 为 Qt Creator5.7
下一节为专业课程设计项目之客户与服务器程序的同步与通信机制的设计(二)TCP通信
链接如下:http://blog.csdn.net/qq78442761/article/details/72819306