㈠ 打開數據socket錯誤,是什麼原因
由於伺服器安全設置,只放開部分埠可以訪問伺服器,因此這些隨意的埠都被攔截,造成無法建立FTP連接。這是伺服器網管為了保證用戶的安全,所以用戶在FTP的時候要選用PORT模式。FTP設置幫助:FTP設置時,請勿選擇在PASV模式下上傳,否則將出現登錄FTP後,無法列表等異常情況。相同的軟體,版本不同,設置方法也略有不同,因此需要根據實際情況進行設置。或者把系統自帶的防火牆及殺毒軟體的防火牆關閉看看。★Cute FTP 3.5英文版:FTP—>Settings—>Options—>Firewall,將「PASV mode」前復選框中的打勾去掉。
★Cute FTP3.5中文版:FTP—>設置—>選項—>防火牆,「PASV方式(A)」前復選框中的打勾去掉。
★Cute FTP4.0中文版:右擊你所建立的ftp站點—>選擇屬性(properties)—>去掉"use PASV mod" 選擇項
★Cute FTP Pro2.0中文版:編輯—>全局設置—>連接—>連接類型,「PASV/PORT」下拉選項菜單選擇PORT。
★Leap FTP2.7.2:Sites—>Site Manager—>Advanced,將「Use PASV mode」前復選框中的打勾去掉。
★flashfxp : 選項->參數->代理->去掉「使用被動模式」
★flashget : 選項->參數->代理伺服器->編輯->將「Use PASV mode」前復選框中的打勾去掉。
一般出現此類問題的原因是客戶端網路出口與伺服器端防火牆的埠設置沖突造成的。
所以對於其他軟體只要不選擇PASV為連接類型,一般都可以解決這類問題了。
㈡ android與我的電腦進行socket通信時出現異常java.net.SocketException: Connection reset
這是因為你的8888埠被使用了。
或者說被之前的伺服器佔用沒有關閉。
你可以修改一下8889試試
㈢ 常見Socket連接錯誤及原因有哪些
socketerrorcode:11001,socketerrorinfo:不知道這樣的主機。 表示您的計算機無法連上伺服器,請檢查您的Proxy設定以及Proxy相關賬號,或暫時取消您防毒軟體的「個人防火牆」。 2、出現網路聯機錯誤Socketerror#11004 socketerrorcode:11004,socketerrorinfo:請求的名稱有效,但是找不到請求的類型的數據。 應該是網路聯機狀態問題,請用戶檢查網路聯機是否正常。 3、出現網路聯機錯誤Socketerror#10060 Connection Timed Out socketerrorcode:10060,socketerrorinfo:由於連接方在一段時間後沒有正確答復或連接的主機沒有反應,連接嘗試失敗。 表示您與伺服器發生聯機逾時錯誤,請檢查您的Proxy相關設定,以及Proxy Server是否已將SSL 443 port打開。 4、出現網路聯機錯誤Socketerror#10061 socketerrorcode:10061,socketerrorinfo:由於目標計算機積極拒絕,無法連接。
㈣ 網路異常 socket Error #10054 經常卡 還掉線
第一台機子是風扇壞了,或者裡麵灰塵很厚了,風扇沒用了.第二台機子你換個內存條試試,排除內存的原因就是顯卡壞了,判斷方法是,右擊桌面空白處,屬性,設置,高級,適配器,看顯存,如果顯存顯示為0的話,說明顯卡壞了.希望能幫到你,不行的話一對一提問吧
㈤ C# socket 通信系統,socket斷線重連問題
首先斷線有很多可能,伺服器端代碼錯誤或者網路路由問題,等等,解決這些斷線問題的方法就是心跳檢測,看應用需要採用幾秒客戶端(C)向伺服器端發送【ping】協議(協議名稱可以自己定)。然後伺服器(S)要有個儲存器(可以是哈希表或者是類數組)保存客戶端連接句柄以及一些必要屬性,還要有個時間,用來對比C每次ping的時間是否超過設定超時時間。如果超時就將C的Sock 句柄清除。到這S端就可以了。C端還要有個斷線處理,監視檢測自己是否斷線,做個重連機制,這樣一個完整的通訊就差不多了,至於其他應用就要看自己的需要通過協議來操作了。 希望這些能幫到你
㈥ java中使用Socket連接,關閉是出異常如何處理
你光有try catch,但實際並未對產生的網路異常進行處理,然後繼續循環,那自然是無限異常下去了。只要在catch到異常後進行相應處理即可,比如關閉連接,然後退出。在服務端,客戶端都加上這個處理,比如在客戶端加,如下
publicvoidrun()
{
while(true)
{
Useru=newUser();
u.setName("1");
ObjectOutputStreamoos;
try
{
oos=newObjectOutputStream(s.getOutputStream());
oos.writeObject(u);
}
catch(Exceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();
//注意,這邊會看到顯示的是true,因為對方並沒有調用close來關閉連接,而是直接終止程序
System.out.println(s.isConnected());
if(s!=null)
{
try
{
s.close();
s=null;
}
catch(Exceptionex)
{
ex.printStackTrace();
}
System.out.println("遠程連接異常,關閉連接");
return;
}
}
}
}
註:
你的這種情況即不能用u=ois.readObject())!=null來判斷,也不能用s.isConnected&&!s.isColse()來判斷,因為你是直接終止服務端或者客戶端的運行,而不是先close連接,再終止程序。