2016-02-11 47 views
0

我可能真的很笨,但我無法解決基本客戶端腳本中的這個錯誤。Python SocketModule:'str'對象沒有屬性'connect'

import socket 

ipaddr = "" 
desipaddr = "" 
desport = 9999 
myclient = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 


def startclient(desipaddr): 
    desipadd = raw_input("[+] Enter chatserver IP: ") 
    desipaddr = str(desipadd) 
    return desipaddr 

def otherclient(desipaddr, myclient, desport): 
    myclient.connect(desipaddr, desport) 
    datatosend = raw_input("[+]>>> ") 
    myclient.send(datatosend) 
    datatoberecv = myclient.recv(1024) 
    formatteddata = "[+] " + str(datatoberecv) 
    print formatteddata 


def main(): 
    startclient(desipaddr) 
    otherclient(myclient, desipaddr, desport) 

main() 

「屬性錯誤: '海峽' 對象有沒有屬性 '連接'

回答

1

您定義

def otherclient(desipaddr, myclient, desport): 

但通過

otherclient(myclient, desipaddr, desport) 
+0

哦,謝謝你,我不知道你需要按照它們定義的順序傳遞參數:D – fak3

+0

那麼,如果函數簽名和調用者中的參數名稱不同,那麼如何調用函數呢? – Matthias

1

你必須根據函數定義逆轉參數otherclient(myclient, desipaddr, desport)

相關問題