winsock2

    0熱度

    2回答

    假設我們有一個使用winsock來實現tcp通信的應用程序。我們爲每個套接字創建一個線程並在其上接收數據塊。當數據到達時,我們想通知其他線程(偵聽線程)。 我想知道什麼是實現這一目標的最佳方式: 移動從這個設計拿走並使用非阻塞插座,然後監聽線程必須不斷迭代,並調用非阻止接收,從而使它線程安全(沒有額外的線程插座) 使用異步過程調用來通知偵聽線程 - 這又一次將警報 - 等待apc排隊等待。 實現了

    1熱度

    1回答

    我有一個正在運行的多客戶端單線程TCP/IP服務器應用程序,它是用C++在winsock2上構建的。它的核心使用select()等待新的工作。我正在考慮將同時發生的客戶數量擴大到幾百或幾千個,實際上大多數情況下都是空閒的。我的架構對連接的空閒客戶端使用很少的內存。 在每個select()之前,我建立了一個處於讀取狀態的客戶套接字的fd_set,以及我的偵聽套接字(用於接受新連接);和另一個處於寫狀

    1熱度

    1回答

    我試圖從與Windows SDK V7.1在Windows 7機器上的源代碼編譯在OpenJDK 6編制的OpenJDK 6。 一些調整後,我達到一個地步,我真的不知道什麼是正確的事情。 這裏是文件 - http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/windows/native/sun/nio/ch/WindowsSelectorImp

    1熱度

    1回答

    我有char* MESSAGE = new char[256];和char* DISCONNECT = new char[256];然而,當我使用Winsock的從客戶端發送它們,並在服務器收到他們(服務器有相同的字符名稱)出於某種原因char* MESSAGE攔截char* DISCONNECT任何幫助爲什麼這將是偉大的! Cient: private: System::Void Form1_F

    4熱度

    2回答

    我正在寫一個小型的3臺服務器和1個客戶端程序。 2臺服務器發送tcp消息,最後一臺服務器使用winsock2發送upd數據報。 我想知道如果我可以通過使用線程(OpenMP或boost :: threads)來製作simulanious recvfrom(),以便兩個線程同時在同一個端口上偵聽同一個套接字。 我在windows7上使用VC++ 2010。 謝謝你的幫助。

    0熱度

    1回答

    我想通過非阻塞連接()連接到另一臺機器上的服務器。 但是,當我這樣做時,Connect()返回-1,並且我從WSAGetLastError()接收WSAEWOULDBLOCK。 MSDN文檔指出:這是正常的WSAEWOULDBLOCK從調用connect在非阻塞SOCK_STREAM套接字報告的結果,因爲必須花費一些時間要建立的連接(reference)。 問題是我總是收到錯誤,並且從connec

    0熱度

    1回答

    我使用VC++ 2010和Windows 7. 我有兩個UDP源和只有一個接收器。假設信源1發送:1,3,5和信源2發送2,4,6。我想在同一個函數中接收1,2,3,4,5,6(數字順序無關緊要)。到目前爲止,我已經在2個不同的端口上監聽2個套接字來接收數據,然後將它們組合起來。 如何使用單個套接字實例從多個來源接收UDP通信?

    1熱度

    2回答

    我有下面的代碼,我不知道爲什麼不能正常工作。 它是循環接受()調用,每次觸發指定 線程多線程TCP服務器。 的問題是,接受有時不會塊,從而導致 程序打開一個新的線程時,有理論上沒有關係。 這就是循環 - for (dwI = 0;; dwI++) //Accept MAX_CLIENTS connections { if(MAX_CLIENTS == dwI) {

    2熱度

    2回答

    當我連接到一些網站,它給了我: Content-Type: text/html; charset=ISO-8859-1 Connection: close Transfer-Encoding: chunked Date: Tue, 01 Jan 2013 18:49:53 GMT fff8 ,並在文件的結尾,它看起來像: </script><!-- vBadvanced 1-

    1熱度

    1回答

    代碼首先 DWORD WINAPI tcp_t(LPVOID lpParam) { SOCKET tcp_client_s = (SOCKET)lpParam; struct sockaddr_in tcp_client; int tcp_client_len = sizeof(tcp_client), length; char req[4096], re