對於UNIX套接字; socket.acept()
將返回socket,()
。即:一個空元組。
例如,您可以通過查看socket.fileno()
來獲得有關「客戶端」套接字的一些信息。
例如與修改echoserverunix.py:
$ python examples/echoserverunix.py
<registered[*] (<Debugger/* 19377:MainThread (queued=0) [S]>, <EchoServer/server 19377:MainThread (queued=2) [R]>)>
<started[server] (<EchoServer/server 19377:MainThread (queued=1) [R]>)>
<registered[select] (<Select/select 19377:MainThread (queued=0) [S]>, <EchoServer/server 19377:MainThread (queued=2) [R]>)>
<ready[server] (<EchoServer/server 19377:MainThread (queued=1) [R]>, ('/tmp/test.sock', None))>
<_read[server] (<socket._socketobject object at 0x7fa4c0b8a210>)>
<connect[server] (<socket._socketobject object at 0x7fa4c0b8a1a0>)>
<socket._socketobject object at 0x7fa4c0b8a1a0>
6
()
按照accept()
手冊頁hwoever:
返回值
成功時,這些系統調用返回一個非負整數,它是接受的套接字的描述符爲 。出錯時,返回-1,並適當設置 errno。
因此,在C級別,您將獲取Python創建socket
對象的「文件描述符」。但是,除了文件描述符以外,沒有客戶端連接的對等地址或路徑。