回覆列表
  • 1 # 速速影片

    // 這段程式碼是改變接系統接收緩衝區大小。每次可以從另一端接收資料大小變大。int nBufLen; int nOptlLen; nErrCode = getsockopt(s, SOL_SOCKET, SO_RCVBUF, (char*)nBufLen, &nOptlLen); if (SOCKET_ERROR == nErrCode) { return EXIT_FAILURE; } nBufLen *= 10; nErrCode = setsockopt(s, SOL_SOCKET, SO_RCVBUF, (char*)&nBufLen, nOptlLen); if (SOCKET_ERROR == nErrCode) { return EXIT_FAILURE; } // 檢查設定系統接收資料緩衝區是否成功int uiNewRcvBuf; int nOptLen; getsockopt(s, SOL_SOCKET, SO_RCVBUF, (char*)uiNewRcvBuf, &nOptLen); if (SOCKET_ERROR == nErrCode || uiNewRcvBuf != nBufLen) { return EXIT_FAILURE; }// 這一段,是更改傳送緩衝區大小,使我們每次可以傳送比較大的資料。unsigned int uiOldSize = 0; unsigned int uiNewSize = 0; int uiRcvBufLen = 0; if((uiOldSize = GetSysBuffSize(inSocket)) == 0) { // 獲取緩衝大小失敗return false; } uiRcvBufLen = sizeof(uiBuffSize); if (SOCKET_ERROR == setsockopt(inSocket, SOL_SOCKET, SO_SNDBUF, (char*)&uiBuffSize, uiRcvBufLen)) { // 修改系統緩衝區大小失敗return false; } // 檢查設定系統傳送緩衝區是否成功uiRcvBufLen = sizeof(uiNewSize); if (SOCKET_ERROR == getsockopt(inSocket, SOL_SOCKET, SO_SNDBUF, (char*) &uiNewSize, &uiRcvBufLen) || uiNewSize == uiOldSize) { // 修改系統傳送緩衝區失敗return false; }

  • 中秋節和大豐收的關聯?
  • 面板有些發黃,有點曬黑了,該搭配什麼顏色的衣服?