2011-10-07 59 views
0

我正在研究依賴於套接字通信的功能。我正在考慮的一個測試案例是突發套接字故障。例如:當客戶端&服務器處於某個交換中間時,我想關閉客戶端從外殼建立的套接字。這是可以通過shell命令嗎?從外殼關閉套接字

+0

什麼樣的插座?命名套接字?網絡套接字? – tMC

+0

網絡套接字(AF_INET) – Manohar

+1

什麼是兩個服務器和客戶端程序?自寫?您可以添加一些由外部進程發送的信號(SIGHUP或SIGUSR1)觸發的功能「關閉/重新打開套接字」。 –

回答

2

是否要關閉它(根據您的標題),或突然中斷它以測試錯誤處理代碼(根據您的解釋)?

您應該能夠使用netfilter和適當的匹配引擎(例如pid和端口號)中斷特定套接字上的通信,並且您肯定可以從shell運行iptables

如果您想關閉套接字,您可以終止對等進程。

+0

我想關閉套接字。如果這是不可能的,我可以考慮中斷通信的選項。將檢查netfilter/iptables選項。感謝您的提示。 – Manohar

+0

@Santhosh:假設你想讓你的測試反映可能的真實世界的失敗情況?丟包是一種可能的失敗情況,一個意外關閉的套接字不是很多。 –

0

不,沒有標準的linux,沒有這樣的設施。