我建立一個語音信使類型的應用......我的服務器應用程序有望獲得多個連接,並應B中給出的選項選擇一種連接...插座簡單的問題蟒蛇
我的問題是,我不知道如何顯示所有連接的IP地址之前,我選擇一個特定的IP並連接到它.. 我在Ubuntu上使用python ...
我建立一個語音信使類型的應用......我的服務器應用程序有望獲得多個連接,並應B中給出的選項選擇一種連接...插座簡單的問題蟒蛇
我的問題是,我不知道如何顯示所有連接的IP地址之前,我選擇一個特定的IP並連接到它.. 我在Ubuntu上使用python ...
沒有API機制,可以讓你閱讀潛在連接之前你accept(2)
連接。它不存在於套接字級別,所以也不會在Python中。
如果你想建立方式您的操作環境中太多的知識到應用程序,你可以隨時使用libpcap
或winpcap
或類似工具嗅探線傳入流量,但(一)這需要更高的權限,這通常是一個可怕的想法(b)與大多數通信服務器任務無關。
什麼tcp_wrappers
機制確實是accept(2)
傳入的連接,調用getpeername(2)
在插座上,然後close(2)
插座,如果使用該程序的tcp_wrappers
不應該與遠程對等談話。 (請參閱/etc/hosts.allow
,/etc/hosts.deny
和/etc/hosts.options
,hosts.allow(5)
聯機幫助頁。)這可能對客戶很粗魯,但系統管理員決定禁止與他們交談,因此友好並不是一個高優先級。
那麼,是否可以接受簡單的close(2)
連接後你已經accept(2)
ed連接?如果是這樣,您可以使用socket.getpeername()
來查找遠程對等方的IP,按照您的需要進行操作,然後在套接字上調用socket.close()
,前提是您不應該首先接受連接。
是的,應該爲我做的工作...休息一會實現一些控制邏輯..感謝.. 。 – Pawan 2011-04-10 08:30:42
我很好奇你的服務器爲什麼不接受所有傳入的連接? – sarnold 2011-04-10 08:06:34
它確實接受...我希望它只接受我根據傳入的IP選擇的一個... – Pawan 2011-04-10 16:51:26