2015-04-23 19 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

相关问题