45IT.COM- 電腦學習從此開始!
DIY硬件教程攢機經驗裝機配置
設計Photoshop網頁設計特效
系統注冊表DOS系統命令其它
存儲主板顯卡外設鍵鼠內存
維修顯卡CPU內存打印機
WinXPVistaWin7unix/linux
CPU光驅電源/散熱顯示器其它
修技主板硬盤鍵鼠顯示器光驅
辦公ExcelWordPowerPointWPS
編程數據庫CSS腳本PHP
網絡局域網QQ服務器
軟件網絡系統圖像安全
頁面導航: 首頁 > 電腦學院 > 局域網技術 >

connect()返回錯誤的代碼10061的解決辦法

電腦軟硬件應用網 45IT.COM 時間:2018-02-10 21:55 作者:佚名
剛才寫一個簡單通信例子出錯了,在client端connect()執行時返回錯誤代碼10061
 
這個錯誤是這樣的: wsaeconnrefused (10061) connection refused. 因為目標主機主動拒絕,連接不能建立。這通常是因為試圖連接到一個遠程主機上不活動的服務,如沒有服務器應用程序處于執行狀態。 這個錯誤說得很廣泛。首先要檢查是否已經開啟了server端 = =!,開啟了之后又是否成功進行了accept和connect函數的設定(配對使用的嘛)。 connect的參數第一個是client端的socket,第二個是client端地址(輸入要連接的IP和端口);而accept函數是對應的server端的socket和地址,它們返回的是各自接收到的socket。我想應該像下面圖示那樣有三個socket。不要像我這樣把各個socket在函數參數中的位置弄亂了...
 
 
 
 
 
┏━━━━━━━┓     ┆     ┏━━━━━━━┓ ┃ 服務端socket ┃     ┆     ┃ 客戶端socket ┃ ┗━━━┯━━━┛     ┆     ┗━━━┯━━━┛     ↑ ┏━━━━━━┓       ↓ └←←←←←←←┃傳輸的socket ┃←←←←←←← ←┛           ┗━━━━━━┛               ┆       server.cpp   ┆     client.cpp
 
 
 
出錯的也可能是地址設定不當的原因。我使用的是inet_addr轉換IP,htons轉換端口。
 
ServerAddr.sin_family=AF_INET;
 
ServerAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//IP轉換
 
ServerAddr.sin_port=htons(PORT);//端口轉換
 
注意如果直接用sin_port=PORT是不行的。而IP不一定要字符串來轉換,還有其他的不一一列舉了。
 
最后還是兩邊的設置要配對呀~ 不然socket怎么知道去哪里? 
頂一下
(2)
66.7%
踩一下
(1)
33.3%
------分隔線----------------------------
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
評價:
表情:
驗證碼:點擊我更換圖片
推薦知識
法甲球队有哪些