2015-04-23 21 views
1

好吧,所以我設置了一個簡單的套接字TCP/IP服務器和客戶端,現在我得到這個錯誤,PyDev,裏面的Aptana Atudio 3.服務器運行正常,並等待連接,但我的客戶跑的時候給我的錯誤Python - 簡單的TCP/IP S/C:並非所有的字符串轉換錯誤的打印語句

打印「建立在%s的連接到服務器」%SERVER_ADDRESS

類型錯誤:不是所有的參數在字符串格式化過程中轉換

爲了解決問題,我在堆棧之前去了一般資源,並將我的代碼與PYMOTW上的文章進行了比較,並對其進行了調整,以便與其匹配,並查看它是否改變了我的錯誤。我似乎不知道導致錯誤的是什麼。我有我的解釋器設置爲Python的相同的語言,因爲我的電腦正在運行......我的代碼,我搜索了其他用戶提出的相同問題的問題,但它似乎總是修復他們的工作,我..

import socket 
import sys 


sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # @UndefinedVariable 

server_address = ('localhost', 0) 
print 'establishing connection to server at %s' % server_address 
sock.connect(input(server_address)) # @UndefinedVariable 

try: 
    message = 'message to server' 
    print 'sending %s' % message 
    sock.sendall(message) 

    amount_recieved = 0 
    amount_expected = len(message) # @UndefinedVariable 

    while amount_recieved < amount_expected: 
     data = sock.recv(16) 
     amount_recieved += len(data) # @UndefinedVariable 
     print 'recieved %s' %(data) 
finally: 
    print 'closing down' 
    sock.close 

()

回答

2

server_address是一個元組。試試這個:

print 'establishing connection to server at %s ' % str(server_address) 

或本:

print 'establishing connection to server at %s:%d ' % server_address 
+0

奇怪,我曾經嘗試過它,它給了同樣的錯誤說法海峽是無效的,但現在它的工作。謝謝! – Colabambino

相關問題