winsock

    0熱度

    1回答

    我有一個遊戲TicTacToe,它是在MFC中使用文檔/視圖體系結構創建的,我有服務器(standart console應用程序)和winsockets。我應該在哪裏初始化客戶端套接字連接到服務器? (它必須完全是winsock,沒有Csocket)。我知道如何創建winsocket,但我不知道我必須在doc/view架構中創建它們。 (我唯一知道的是在「InitInstance」中初始化「WSA

    0熱度

    3回答

    我在下面的網絡比喻有點糊塗: 考慮我傳遞一個指針Winsock發送()函數序列化的結構(與整數)。 我的英特爾機器上,這些4個字節的整數可以在大端機器上用不同的方式來表示和誤解時,結構上的另一邊重新創建。 這是可以理解的,但一個問題 - 所以我想知道 - 如果那是什麼在兩臺機器上運行兩個程序被編譯爲32位?英特爾< - > AMD指令集不會像二進制文件那樣發生自動轉換嗎? 如果沒有辦法避免它 -

    2熱度

    2回答

    我想在C++中構建一個可以接受多個客戶端的服務器。爲此,我構建了一個winsock包裝器,並使用線程和boost來爲每個客戶進行通信。 我試圖接受客戶端時遇到了一個奇怪的問題,我有一個看起來像這樣的循環。 int clientID = 0; listenSocket = new Socket(SocketType::TCP); listenSocket->Bind(port); listen

    0熱度

    2回答

    我有一個例子,它描述瞭如何將1套接字作爲參數發送到新線程。 SOCKET clientSocket; ... CreateThread(NULL, NULL, SexToClient, &clientSocket, NULL, &thID); ...} DWORD WINAPI SexToClient(LPVOID client) { SOCKET clientS

    0熱度

    3回答

    這只是一個問題:爲什麼Winsock中的getpeername-function收到namelen-參數作爲指針?在我看來,這是一個主要的設計缺陷。 例子: sockaddr_in addr; int addrLength = sizeof(sockaddr_in); if (getpeername(s, reinterpret_cast<sockaddr*>(&addr), &addrLe

    0熱度

    3回答

    我正在寫服務器和客戶端,我有一些整數可以通過。 在我的服務器應用程序中,我從客戶端接收一個整數。 在客戶端,我是否會對整數調用ntohl或htonl? 如果我打電話,其中之一,當我收到整數,我必須再次撥打ntohl或htonl?或者,我只在服務器端調用ntohl/htonl,而不是客戶端? 換句話說,每次使用htonl或ntohl的時間/地點和次數是多少? 另外,我必須爲字符串/字符數組做ntoh

    4熱度

    1回答

    如果我兩次調用closesocket(m_socket)會發生什麼? 第一次調用之後,套接字將被關閉。 第二次調用後是否會發生對程序或應用程序不利的事情。或者它只會返回一個我可以忽略的錯誤。

    0熱度

    2回答

    我在我的應用程序中使用winsock來維護客戶端 - 服務器連接,並使用非阻塞套接字來完成此操作。但有時,當我收到FD_READ消息時,看起來recv()不是返回一個,而是兩個數據包。 我試圖改變數據包的大小,使它們彼此不同,然後將它與數據量recv()正在返回進行比較。我100%確定我會不時收到兩個數據包。我認爲我的ping功能是被責備的。我的應用程序中有一個線程時常發送ping消息。然後另一方

    1熱度

    1回答

    對不起,如果這不是一個有用的問題。我是套接字編程的新手。我必須建立一個組播應用程序(包含接收者和發送者),它只需使用多播將消息發送到一個網絡中的一組主機。我使用winsock庫在Windows上用C構建它。 問題是,當我將receiver.exe複製到另一臺計算機(在同一網絡中)並運行sender.exe時,接收方無法收到消息。我認爲我的網絡調制解調器需要配置一些東西來記錄多播地址。我不明白網絡如

    5熱度

    1回答

    我工作的一個相當簡單的客戶端/服務器應用程序,並有一些麻煩,從使用的Winsock API提供的recv客戶端接收TStringStream。 我不斷收到此錯誤:'訪問衝突在0x00000000:讀取地址0x00000000'。 客戶端只將文本複製到TStringStream中,獲取它的長度並將其發送到服務器。服務器然後接收流並輸出它的文本。 下面是一些抽象的代碼提取。 { the server'