5

UDPソケットを開くpythonプログラムを持っている

receiveSock = socket(AF_INET, SOCK_DGRAM)
receiveSock.bind(("", portReceive))

プログラムが失敗したり、実行中に終了してしまったり、

receiveSock.close()

次回このプログラムを実行しようとすると、

receiveSock.bind(("",portReceive))
  File "<string>", line 1, in bind
socket.error: [Errno 98] Address already in use

シェルコマンド (またはその他の便利なアイデア) を使用してこのソケットを閉じるにはどうすればよいですか?

4

1 に答える 1

4

2つのオプションがあります。

try:
   # your socket operations
finally:
   # close your socket

または、Pythonの新しいバージョンの場合:

with open_the_socket() as the_socket:
   # do stuff with the_socket

with statementブロックが終了するか、プログラムが終了すると、はソケットを閉じます。

于 2013-01-20T10:48:49.910 に答える