专业课程设计之客户与服务器程序的同步与通信机制的设计(一)项目介绍
源碼下載地址為:
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
總結
以上是生活随笔為你收集整理的专业课程设计之客户与服务器程序的同步与通信机制的设计(一)项目介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML期末网页作业-仿QQ官网QQ注册
- 下一篇: c#中使用mysql查询语句_遇到@符合