ページ

2013年9月16日

websocket-client 0.12.0がリリースされている

放置して何もしないでおこうと思っているのに、バグ報告は来るし、websocketのフラグメンテーションはサポートしていないのはどういうこっちゃ!、って外人におこられるし。フラグメンテーションは放置していたらテストコードだけ送られてくるし、僕は欲しいのは実装の方なのに…。で、気になって調べたら、フラグメンテーションは僕が昔スペックを読んだときのものと変わっているし…。

ということで、いろいろ直した0.12.0がリリースされました。pypiからいんすとーるできますです。
まあ、ほとんどがバグフィックスです。ちょっと大きめな変更は、timeoutはWebSocketTimeoutExceptionを投げるようにしました。2系のPythonでSSLを使っているとssl.SSLErrorがtimeoutの時に投げられるんですが、これがいろんなエラーとごっちゃになっていて、messageでtimeoutかどうか判別しないといけない。で、ssl使わないとsocket.timeoutが飛んできて残念な気持ちになるらしいということでした。Python3は3.2ぐらいからすべてのsocket.timeoutに統一されているので、あんまり気にしなくてもいいらしい。互換性のために2系には入れないって書いてあった気がする。

あとは最初にあったフラグメンテーションをサポートしました。opcodeがTEXTとかBINARYとかCLOSEとかPING/PONGとかにCONTが追加されていた。ということです。

それ以外の大きなところでは、timeoutしたときにその後はcloseしないとオブジェクトの状態が変になっていたのですが、timeoutしてもそのままrecvとかすれば処理を継続できるようになりました。

あとは、python3でのバグフィックスがいくつか。ぼくはまだ、ほとんどpython3使っていないです。

そんな感じ。