C 客戶端連線C 伺服器 目標機器積極拒絕

2021-07-08 13:38:20 字數 485 閱讀 9055

用c#客戶端連線c++伺服器端,客戶端呼叫connect函式時發生異常,錯誤資訊是目標機器積極拒絕,無法連線。在網上找了好久沒有解決問題,通過不斷的摸索終於找到解決方案:

1.在dos視窗檢查埠是否被開啟,命令是:netstat -an

沒有發現伺服器端監聽的埠號

2.把伺服器端埠號從本機位元組序轉為網路位元組序,用htons函式

sockaddr_in saserve;

saserve.sin_family = af_inet;

saserve.sin_port = htons(9999);

saserve.sin_addr.s_un.s_addr = inet_addr("伺服器端的ip");

再次呼叫時鏈結成功。

3.如果不呼叫htons,用c++寫的客戶端可以成功鏈結伺服器端。

總結:網上說的最普遍的方法是關閉防火牆。經過測試,防火牆影響不是很大,如果有影響,就在防火牆中開啟通訊埠。具體操作是

C 伺服器怎麼知道客戶端斷開TCP連線

因為 1 正常情況下 客戶端斷開會產生錯誤,在連線裡面能catch到 把套接字操作放到try catch裡,如果一端斷開了,另一端還繼續進行套接字操作就會抱錯。你捕捉到就說明另一端完蛋了,進行你要的處理就好了啊 2 但是如果客戶端是突然斷電等情況下,不會產生這個錯誤 連線會一直等待下去。1 定義乙個...

Oracle客戶端連線Oracle伺服器

以我的乙個程式為例,我在筆記本上安裝了oracle oraclient10g home1,oracle的客戶端很小,而且安裝簡單。伺服器配置 net configuration assistant 本地net服務名配置 新增 服務名 a.domain 是要訪問的資料庫的全域性資料庫名 tcp 主機名...

C 客戶端和伺服器端

1 c s 客戶端應用程式 winform wpf 平級 資料是存放在其他的電腦上或伺服器上 資料的加工是在使用者的電腦上執行的,會對使用者的電腦配置有所要求 2 b s 網頁端應用程式 asp.net 統稱 asp.net webform asp.net mvc 平級 使用者傳送乙個請求到iis伺...