2014-10-06 42 views
-1

我是Python的新手,在使用Python创建客户端 - 服务器UDP ping服务器程序时遇到了这个严重错误。它说:无法将'元组'对象隐式转换为str

TpyeError: Can't convert 'tuple' object to str implicitly 

错误出现在UDPClient.py文件,该文件是:

from socket import * 
from datetime import * 
from time import * 

pings = 10 
i =0 
server = '127.0.0.1' 
servPort = 5369 
clientSock = socket(AF_INET, SOCK_DGRAM) 
data = 'ping' 
databin = bytes(data, 'UTF-8') 
while i<pings: 
    print("Print number: ",i) 
    i += 1 
    before = datetime.now() 
    clientSock.sendto(databin, (server, servPort)) 
    clientSock.settimeout(1) 

    try: 
     clientMsgm server = cliendSock.recvfrom(1024) 
     after = datetime.now() 
     diff = before - after 
     if(i==10): 
      print("Ping", i) 

    except timeout: 
     print("Ping",i," Request timed out!!!") 


Traceback (most recent call last): 

File "D:\...\UDPClient.py", line 18, in <module> 
clientSock.sendto(databin,server, servPort) # Send what (i.e.'ping') and to whom and where 
TypeError: an integer is required (got type str) 
+1

哪一行给出错误? – 2014-10-06 02:28:00

+0

当你分配'databin'时,你错过了't'吗? – squiguy 2014-10-06 02:28:41

+0

请发布完整的追溯,也是你使用的是哪个python版本? – 2014-10-06 02:28:49

回答

0

此错误是由试图在不支持的方式

结合strtuple造成例如:

Python 3.3.2+ (default, Feb 28 2014, 00:52:16) 
[GCC 4.8.1] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> "foo" + ("bar",) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: Can't convert 'tuple' object to str implicitly 

我不认为你包括的代码示例是这样做的gh

+0

我该怎么办?导致uptil 4 pings它工作正常,但然后它显示我的错误! – user2607744 2014-10-06 03:26:43

相关问题