我要管一個TCP套接字Unix套接字 我可以做到這一點使用socat這樣管材的Unix套接字來使用Python隨機TCP套接字,並可能Socat
socat TCP-LISTEN:1234 UNIX-CONNECT:test.socket
但問題就在這裏,我不我不想自己指定端口號 我希望操作系統爲我選擇一個空閒端口,但我仍然可以知道端口。
我寫這個劇本,那是不行的,但可以說明我想要做的
def bind(unix_sock_file):
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp_socket.bind(('', 0))
tcp_socket.listen(1)
cmd = 'socat - UNIX-CONNECT:%s' % unix_sock_file
Popen(cmd, shell=True, stdin=tcp_socket, stdout=tcp_socket, close_fds=True)
return tcp_socket.getsockname()
我得到的錯誤是:
2012年9月11日15時34分:39 socat [26509] E讀(0,0x1e97a90,8192):運輸 端點沒有連接
說明#1:我接受其他任何其他的解決方案,socat太
注意2:該腳本應該管道監聽Unix套接字的Web服務器,以及連接到生成的TCP端口的Web瀏覽器。
在此先感謝
是否出錯了呢? – tMC
是的,我在帖子末尾添加了錯誤信息。 – Radian