2009-07-09 103 views
1

我們有一個掛起的過程,桁架顯示它也嘗試連接,但因錯誤ECONNREFUSED而失敗。 手冊頁說了以下內容,但爲什麼一次又一次被拒絕?如何處理ECONNREFUSED進行連接?

ECONNREFUSED   The attempt to connect was force- 
         fully rejected. The calling program 
         should close(2) the socket descrip- 
         tor,  and  issue  another 
         socket(3SOCKET) call to obtain a new 
         descriptor before attempting another 
         connect() call. 

桁架-p 2145

/3:lwp_park(00000000,0)(昏睡...)

/2:了nanosleep(0xFFFFFFFF7B5FBE60,0xFFFFFFFF7B5FBE50)(昏睡...)

/2:了nanosleep(0xFFFFFFFF7B5FBE60,0xFFFFFFFF7B5FBE50)= 0

/2:so_socket(PF_INET,SOCK_STREAM,IPPROTO_TCP, 「」,SOV_DEFAULT)= 17

/2:的fcntl(17,F_SETFD,00000001)= 0

/2:連接(17,0xFFFFFFFF7B5FBF40,16,SOV_DEFAULT)錯誤#146 ECONNREFUSED

/2:關閉(17)= 0

/2:了nanosleep(0xFFFFFFFF7B5FBE60,0xFFFFFFFF7B5FBE50)(昏睡...)

/2:了nanosleep(0xFFFFFFFF7B5FBE60,0xFFFFFFFF7B5FBE50)= 0

/2:so_socket(PF_INET,SOCK_STREAM, IPPROTO_TCP, 「」,SOV_DEFAULT)= 17

/2:的fcntl(17,F_SETFD,00000001)= 0

/2:連接(17,0xFFFFFFFF7B5FBF40,16,SOV_DEFAULT)錯誤#146 ECONNREFUSED

/2:關閉(17)= 0

/2:了nanosleep(0xFFFFFFFF7B5FBE60,0xFFFFFFFF7B5FBE50)(昏睡...)

回答

0

防火牆也許?有很多潛在的原因。

2

它有時會從本機工作,然後開始失敗,或每次都返回錯誤嗎?它是從一些機器而不是其他機器工作的嗎?

服務器程序可能已經崩潰或關閉了偵聽套接字。在服務器上嘗試「netstat -af inet」以確保該端口上有一個處於LISTEN狀態的套接字,並檢查該端口上的當前連接數。服務器進程ID上的Solaris命令「pfilespid」也可用於驗證服務器是否仍然打開偵聽套接字並檢查當前的客戶端連接數。如果正在建立多個連接,請確保listen()積壓已足夠。將-vall選項添加到客戶端上的truss命令以顯示連接的地址和端口,以確保它們是正確的。也可以嘗試從服務器計算機建立相同的連接,以排除任何網絡,防火牆或NAT問題。

+0

實際上這個過程是一個oracle監聽器,它是一個服務器而不是客戶端。所以這很奇怪,因爲這個錯誤只發生在客戶端進程上,對吧? – Daniel 2009-07-12 12:42:23