数値(int)を受信できるようにしたいこの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
そして、それはうまくいくようですが、2つのプリントに加えて、前述のようにトレースバックも取得します:-/
編集:
それを指摘してくれてありがとう。データ(またはrecv)が空である可能性があるため、ifテストと出来上がりの下でロジックを移動しました...:D
data = conn.recv(BUFFER_SIZE).strip();
if not data: break
command = int(data);
foo = command + 1;