我有这个 TCP 服务器,我希望能够接收数字(整数),但我在解决程序的一些输出时遇到了一些困难。它输出它应该输出的内容,但此外它还输出一些带有 ValueError 的回溯。我该如何解决?
Traceback (most recent call last): File "server.py", line 18, in
<module>
data = int(conn.recv(BUFFER_SIZE).strip()); ValueError: invalid literal for int() with base 10: ''
我在这里做的是向服务器发送整数:
data = int(conn.recv(BUFFER_SIZE).strip());
foo = data + 1;
if not data: break
print "received data:", data
print "\n foo:", foo
这似乎很好用,但除了这两个打印件之外,我还得到了前面提到的回溯:-/
编辑:
感谢您指出这一点。由于数据(或recv)可能为空,我只是将逻辑移到if测试下,瞧……:D
data = conn.recv(BUFFER_SIZE).strip();
if not data: break
command = int(data);
foo = command + 1;