winsock2

    0熱度

    1回答

    我使用下面的代碼客戶端套接字 int ConnectToServerSocket ( char* _serverIP, //in char* _serverPort, //in SOCKET& _connectedSocket //out ) { struct addrinfo *addrResult = NULL,hints

    1熱度

    2回答

    嗨,我有一個使用C#套接字服務器和C++套接字客戶端的套接字編程。 服務器我用Socket.Send(bytes[])發送消息 CPP客戶端我使用recv(socket,buffer,length,flags) 但在服務器,如果我在客戶端上我收到的所有消息作爲級聯同時發送多條消息。 for(int i=0;i<10;i++) { var bytes= GetBytes("msg"+i); t

    0熱度

    1回答

    我已經搜索論壇,但無法找到適合我的問題的正確答案。我要做一個小登錄過程,所以我想發送數據在編輯框作爲登錄,然後發送數據在第二編輯框作爲密碼。 int ldata2 = send(Socket, buffs, len, 0);//send login via socket //send pass via socket int passData = send(Socket, buffPass, l

    0熱度

    1回答

    對於類項目,我們被指示使用Winsock2創建簡單的程序。我創建了一個開始的回聲程序,現在我試圖實現一種方法,讓程序在一個房間內找到主機本身。該房間位於專用網絡192.168.xxx.xxx上,子網數量增加10個,並且可以運行服務器的計算機在每個子網上都是數字50,51和52。我打算做一個簡單的實現,只是試圖連接到每臺計算機,如果可以的話,它就是服務器。不是最好的解決方案,但它仍然使用Winsoc

    -1熱度

    2回答

    當我通過telnet連接到IRC服務器時,一切正常,但在我的程序中,在問候消息後沒有來自服務器的響應。怎麼了? PS當我發送「JOIN #channel」服務器響應。 片段代碼: while (true) { ret = recv(pocket, buf, 512, 0); if (ret == 0 || ret == SOCKET_ERROR) { p

    0熱度

    2回答

    我正在創建一個聊天應用程序,我最終希望與我的朋友一起使用它。現在我正在使用Winsock2進行通信,但我注意到lib文件正在顯着增加bin的大小。有沒有什麼辦法可以在不靜態鏈接的情況下使用Winsock? .dll文件已經包含了我需要的所有功能,那麼爲什麼我仍然需要lib文件? UPDATE 原來它有什麼做的源碼庫。出於某種原因,它增加了我的bin大小900 kb,我會嘗試以不同的方式做。

    1熱度

    2回答

    我想提高我的OOP知識,並決定創建一個簡單的類來簡化套接字編程。 這是一個學習實驗,所以我不想使用boost或其他庫。 我想實現一個事件驅動的 recv()。意思是,每當有新數據進入時,它都應該調用我的函數。 我想我需要創建一個線程來運行recv()循環,然後在每次有新數據時調用我的函數。有沒有其他的方式使用線程?我想我的代碼是便攜式的。 這是我的簡單類和示例代碼: class.h: #ifnde

    0熱度

    1回答

    好吧,所以我使用WinSockets2來製作一個非常簡單的服務器客戶端應用程序。我有我的套接字初始化,我試圖讓服務器成爲多用戶。我幾乎100%肯定,到目前爲止,服務器套接字已正確形成,並且我100%確定客戶端套接字是正確的,因爲我使用了另一臺服務器。雖然,recv函數失敗,錯誤WSAENOTSOCK。有問題的代碼: unsigned __stdcall client(void *data) {

    0熱度

    2回答

    我正在使用此代碼連接到服務器,但它並未等待我設置爲超時的10秒。它在失敗連接後立即返回。 BOOL Connect(string server, int port, int timeout) { struct sockaddr_in RemoteHost; TIMEVAL Timeout; Timeout.tv_sec = timeout; Timeout

    0熱度

    1回答

    我在這個網站上看到的其他答案似乎與我的問題沒有關係。不管怎樣,在我的mainwindow.cpp文件我有需要的用戶界面命名空間訪問的功能: do { intrecv= recv(s1, buffer, 10000,0); if(intrecv > 0) { recvData = buffer; ui->textEdit->s