iocp

    6熱度

    2回答

    我在實現TCP IOCP客戶端時遇到了一些麻煩。我在Mac OSX上實現了kqueue,所以希望在Windows上做類似的事情,我的理解是IOCP是最接近的。主要問題是GetCompetetionStatus從不返回並總是超時。我假設我在創建要監視的句柄時缺少一些東西,但不知道是什麼。這是我迄今爲止得到: 我的連接程序:(刪除一些錯誤處理的清晰度) struct sockaddr_in serve

    2熱度

    1回答

    我在SMTP郵件服務器(LumiSoft Mail Server)的代碼中找到了以下代碼。根據方法的名稱,它測試平臺是否支持I/O Completion Ports。 /// <summary> /// Gets if IO completion ports supported by OS. /// </summary> /// <returns></returns> public sta

    0熱度

    2回答

    我已經編寫了基於iocp機制的用於管理網絡通信的複雜庫。問題在於,當服務器通過調用API方法closesocket()關閉連接時,這些信息有時會以秒或甚至分鐘的形式傳輸給客戶端。我檢測關閉連接的代碼看起來像這樣(簡化): ok = GetQueuedCompletionStatus(completion_port, &io_size, (PULONG_PTR)&context, &overlapp

    41熱度

    4回答

    爲什麼很多人說I/O完成端口是快速而好的模型? 什麼是I/O完成端口的優點和缺點? 我想知道一些使得IOCP比其他模式更快的點。 如果你可以解釋一下比較其他模型(select,epoll,傳統多線程/進程),那會更好。

    2熱度

    1回答

    我正在使用TBB並想知道如何使用IOCP和其任務調度程序。有沒有人做過這個?如果是這樣,一些細節將不勝感激。 我對IOCP沒有多少經驗,但我想用它來發送消息給我的所有線程,並且在任務調度程序之外,你可以給它提供線程的句柄。然而在TBB中,我並不完全確定如何可靠地獲取線程的句柄。 謝謝!

    0熱度

    2回答

    我做了一些IOCP服務器和客戶端測試。 IOCP服務器接受客戶端的連接,除了從客戶端接收數據包之外什麼也不做。 客戶端連接服務器並在infinit循環中將數據包發送到服務器。 我設置了一個計數器。它在服務器接受客戶端時增加,並在套接字關閉時減少。 這裏是問題: 計數器增加到32261,不再增加。服務器不能接受更多的連接,GetLastError()返回10055,WSAENOBUF。 我的操作系統

    0熱度

    1回答

    我目前實現視頻流媒體應用中的目標是利用盡可能多的千兆位以太網帶寬 應用協議是建立在TCP/IP 網絡庫使用異步IOCP機制 只有流過L​​AN需要 無需包通過路由器 這簡化了很多事情。不過,我遇到了數據包延遲變化的問題。 這意味着應該例如每20ms(1280×720p 50Hz視頻信號)到達的視頻幀有時會延遲數十毫秒。更: 平均幀速率保持 最大視頻幀延遲取決於網絡利用率 上LAN的數據越多的更高的

    1熱度

    1回答

    我有一個我們已經使用很長時間的基於IOCP的服務器。現在我們需要爲此添加SSL支持。我正在努力尋找一個乾淨的解決方案。我發現在其他兩個線程中建議了兩個選項 - 1)使用openssl內存BIO - 但沒有在網絡上找到任何與IOCP端口一起使用的示例,這些示例解釋了由於多線程特性而引發的問題的IOCP。 2)用ssl使用Boost ASIO--我認爲這在內部使用了IOCP。但沒有任何示例顯示每個連接

    2熱度

    2回答

    就像標題所說,是有可能的成功WSASend呼叫與I/O完成端口相關聯的未張貼比結束線程之外的其他原因完成一個插座上? 我有一種奇怪的情況:它看起來像一個完成沒有被公佈爲WSASend,這導致插槽泄露;應用程序認爲發送仍然等待套接字並拒絕發佈它。 的發送代碼如下: void CSocketServer::Write( Socket *pSocket, CIOBuffer *pBuf

    0熱度

    3回答

    我正在嘗試編寫IOCP服務器。基本上,我有它接受新的連接。爲了測試目的,我正在運行並連接到127.0.0.1。 我在調用AcceptEx()之前創建僞套接字。一旦連接被接受,新的僞套接字被用於通信。這個新套接字與一個io完成端口[CreateIoCompletionPort]相關聯,然後給它分配幾個選項[SO_EXCLUSIVEADDRUSE]和[SO_CONDITIONAL_ACCEPT],然後