原创 14.服務封裝Server類,支持跨平臺

客戶端: DataHeader.hpp #ifndef _MessageHeader_hpp_ #define _MessageHeader_hpp_ enum CMD { CMD_LOGIN, CMD_LOGIN_R

原创 12.客戶端封裝Client類,同時與多個服務端通信

將tcp的客戶端封裝成類

原创 12.服務端升級爲支持Win、Linux跨平臺

g++ main.cpp -std=c++11 -o main 服務端: #ifdef _WIN32 //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN

原创 11.客戶端升級爲支持Win、Linux跨平臺1

服務端: //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WARNINGS //也可以放到工程屬性,

原创 9.客戶端升級爲select網絡模型

新用戶連接到服務端時,服務端主動推送一個 新用戶登錄的 消息給 其他客戶端 服務端: //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN #define _WINSO

原创 10.爲客戶端添加輸入線程(Thread)

客戶端開啓一個線程,使得用戶可以輸入指令 服務端: //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_

原创 服務端升級爲select模型處理多客戶端2

對fd_set的理解,可以參考下:https://www.cnblogs.com/wuyepeng/p/9745573.html int select(int nfds, fd_set* readset, fd_set* writese

原创 網絡報文的數據格式定義及使用4

服務端,使用緩衝區來接受客戶端數據 服務端: //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WAR

原创 網絡報文的數據格式定義及使用3

客戶端,包頭跟包體一起發送。 服務端: //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WARNIN

原创 網絡報文的數據格式定義及使用2

服務端: //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WARNINGS //也可以放到工程屬性,

原创 一對一的能持續處理請求的CS網絡程序

服務端: //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WARNINGS //也可以放到工程屬性,

原创 傻瓜式Windows網絡編程,客戶端,服務端

服務端 //vc的第一套socket,第二套socket,可能存在衝突 #define WIN32_LEAN_AND_MEAN#define _WINSOCK_DEPRECATED_NO_WARNINGS //也可以放到工程屬性,預處理中

原创 linux下的短延遲

nanosleep,sleephttps://www.jianshu.com/p/42abcc2c9e50

原创 Qt 如何處理密集型耗時的事情

頻繁主動調用QCoreApplication::processEvents() https://blog.csdn.net/lixiangmaty/article/details/79452553https://www.cnblogs.co

原创 串口

串口的write跟read在同一線程中執行如果此時正在write,但是收到readyRead()信號,會中斷write,去執行readyRead()信號觸發的槽函數。 在多線程串口通信中,如果設計不好,會造成訪問緩衝指令時,線程鎖,死鎖。