WSASocket 建立套接字不成功解決方法

2022-08-09 03:21:15 字數 688 閱讀 4783

這幾天我在寫乙個模仿windows自帶的ping程式,可是套接字總是建立不成功,在網上找了一些資料最後總算把問題解決了,現在總結一下。

解決方法:以管理員執行vs就行了我的是vs2013,vs2010也一樣。

/*winsock 初始化*/

if (wsastartup(makeword(2, 2), &wsadata) != 0)

/*建立原始套接字,該套接字用於icmp協議*/

socket m_socket;

ps:已經鏈結了ws2_32.lib,#pragma comment(lib, "ws2_32.lib")

#include

#include

也已加入了

解決方法:以管理員執行vs就行了我的是vs2013,vs2010也一樣。

vs2013(2010)如何以管理員許可權啟動執行:

在某些專案進行開發的時候,需要提公升應用程式本身的許可權,這個是很容易的。

找到vs2013的快捷方式:右擊->以管理員身份執行->開啟專案

或者右擊開啟檔案位置找到vs2013的啟動專案devenv.exe:右擊屬性相容性特權等級,以管理員許可權執行;
如果需要每個使用者都以管理員許可權執行,還可以更改所有使用者的設定特權等級,以管理員許可權執行。

然後在專案的開啟方式中確保以vs2013為預設開啟程式就好了。

18 3 2 建立套接字

套接字是通過標準的 unix 檔案描述符和其他的程式通訊的乙個方法。套接字在使用前必須先被建立,建立套接字的系統呼叫為 socket 它的一般形式是 int socket int domain,int type,int protocol 建立出來的套接字是一條通訊線路的乙個端點,domain 引數負...

4 6 2 建立套接字

當 socket 函式返回 invalid socket 時,呼叫 showerrormsg 函式顯示呼叫失敗的原因。建立套接字程式清單如下。建立 windows socket shost socket af inet,sock stream,ipproto tcp if invalid socke...

建立套接字失敗

if afxsocketinit 執行程式,會發現彈出對話方塊 載入套接字型檔失敗。原因是因為該段 新增的位置不對。必須寫在initinstance函式的開始位置,建立視窗前 考慮到afxsocketinit 函式只能載入1.1版本的套接字型檔,若要載入其他版本的套接字型檔,則需要新增如下 word...