2015-04-22 65 views
0

我使用的是Ubuntu 14.04 LTS。我需要爲我正在處理的腳本使用getpeername。我得到AttributeError,因爲它不在那裏:dir(socket)給出了除getpeername之外的所有內容。但是,'GETPEERNAME 1'在所有列出的pyconfig.h文件中。對於2.7,3.4而言,這是真實的,當我在另一臺計算機上進行全新的操作系統安裝時(只是爲了查看它是否是疊加安裝的問題)。這是14.04的問題嗎?它可以修復嗎?我迷路了。插槽模塊中缺少屬性

import socket 

n= 1024 
M= 65535 
L=[] 

while n<= int(M): 
     target = "0.0.0.0" 
     port = n 
     server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
     try: 
       server.bind ((target, port)) 
       print "[*] Listening on %s:%d" % (target, port) 
     except: 
       print (port,'Busy') 
       L.append (port) 

     n=n+1 
print (L) 
socket.getpeername(L[2]) 
+0

爲您提供的代碼,請。 – kvorobiev

回答

1

getpeername()不是socket模塊的一部分,它是插座物體的一部分。對於偵聽套接字也沒用,因爲他們沒有同行。

你可能需要的東西是這樣的:

clnt_sock, _ = server.accept() 
print clnt_sock.getpeername() 

而且,你的聽力路徑不正確,你忘了打電話給listen

server.listen(5)