前面寫了基於SELECT實現的同步阻塞方式的網絡通訊,本文將基於EVENT,用代碼描述實現同步非阻塞方式的網絡通訊。相對於同步阻塞方式來說,同步非阻塞方式可以讓更好地讓系統有時間處理一些其它動作,比如進度條繪製,雖然同步阻塞方式也可以,但效果比不上非阻塞的。需要明確的是,阻塞和非阻塞是指網絡套接字與操作系統底層的網絡緩衝區(非套接字緩衝區)之間的通訊方式,使用了EVENT方式,會自動將此方式置非阻塞。好了,俺只講這麼多,具體的見代碼註釋:
前面寫了基於SELECT實現的同步阻塞方式的網絡通訊,本文將基於EVENT,用代碼描述實現同步非阻塞方式的網絡通訊。相對於同步阻塞方式來說,同步非阻塞方式可以讓更好地讓系統有時間處理一些其它動作,比如進度條繪製,雖然同步阻塞方式也可以,但效果比不上非阻塞的。需要明確的是,阻塞和非阻塞是指網絡套接字與操作系統底層的網絡緩衝區(非套接字緩衝區)之間的通訊方式,使用了EVENT方式,會自動將此方式置非阻塞。好了,俺只講這麼多,具體的見代碼註釋:
win10在安裝VB6的過程中會報錯,導致安裝無法完成. 解決方式爲: 1.在安裝過程中取消"ADO RDS OLE"安裝選項; 2.安裝後啓動VB6的快捷方式選中"以管理員身份運行"; 親測管用!
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 前提條件: addr是有效的服務器地址