日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 網絡編程(58)—— Windows下使用CSocket搭建回聲服務端和客戶端

網絡編程(58)—— Windows下使用CSocket搭建回聲服務端和客戶端

來源:程序員人生   發布時間:2017-03-09 08:49:55 閱讀次數:6054次

        CSocket是對CAsyncSocket的1個再次封裝,它將CAsyncSocket這類異步不阻塞的socket封裝成了同步阻塞的socket。它的實現原理其實很簡單,我們應當留意到在CAsyncSocketAcceptSendReceive函數被定義成了虛函數:

virtual BOOL Accept( CAsyncSocket& rConnectedSocket, SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL );

virtual int Receive( void* lpBuf, int nBufLen, int nFlags = 0 );

virtual int Send( const void* lpBuf, int nBufLen, int nFlags = 0 );

        CSocket就是通過繼承上述3個虛函數,在函數內部獲得調用WSAGetLastError獲得毛病,如果毛病為WSAEWOULDBLOCK說明IO操作未能完成,此時,它將進入消息循環,知道等到該IO事件完成為止。如果偽代碼,表示以下:

BOOL CSocket::Accept(…)
{
    CAsyncSocket:: Accept(…)
   {
	if(WSAGetLastError()==WSAEWOULDBLOCK)
       {
	    while(True)
            {
	        MSG msg;
	        if(PeekMessage(&msg,WM_SOCKET_NOTIFY))
	        {
		    if(msg.message== WM_SOCKET_NOTIFY)
		    {
			…
			break;
                    }
                }
            }
        }
	…
     }
     …
  }
  …
}


        其實對使用者來說使用CAsyncSocket和CSocket基本編程步驟都是1致的,不同只是它們二者之間的內部的處理邏輯。比如上1文中,我們自定義了1個CMySocket類繼承自CAsyncSocket,如果我想要使用CSocket類,只需將上1文中的CMySocket父類改成CSocket:

class CMySocket : public CSocket
{
…
}

     其他代碼不需要任何的改動,我們就可以得到功能相同的服務端和客戶端

 Github位置:
https://github.com/HymanLiuTS/NetDevelopment
克隆本項目:
git clone git@github.com:HymanLiuTS/NetDevelopment.git
獲得本文源代碼:
git checkout NL58


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 老色网站 | 国产精品精品久久久久久 | 午夜亚洲 | 亚洲免费激情 | 国产午夜精品一区二区 | 国产精品久久久久久一区二区三区 | 国产在线精品二区 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 国产亚洲精品久久久久动 | 欧美亚洲三级 | 午夜精品 | 久久新| 亚洲精品一区二区三区不 | 亚洲欧洲国产视频 | 国产精品麻豆一区二区 | 亚洲欧美另类在线观看 | 国产精品久久久久久久7电影 | 黄色二区 | 综合久久一区 | 国产一区二区三区不卡在线观看 | 成人国产综合 | 亚洲成人av在线 | 黄色一毛片 | 在线播放国产一区二区三区 | 亚洲一二区 | 中文字幕一区二区三区在线播放 | 国产精品视频免费 | 亚洲久久网 | 日韩综合色 | 一个色综合视频 | 亚洲国产一区二区三区 | 视频在线国产 | 欧美一区二区三区 | 嫩草官网 | 午夜在线免费视频 | 日韩黄色片 | 日韩一区综合 | 福利视频一区二区三区 | 久久国产精品成人免费观看的软件 | 中文字幕日本在线 | 五月婷婷网 |