前回、課題をのせましたが、もうちょっと詳細に問題が見えてきました。

1)SSL/TLSへの対応
この問題の一部で、SecureSocketを使ってgmailの465(いわゆる smtp over ssl )につないだときに、なぜか今まで接続に失敗することがあった。

実はこれ、私が明示的に作っていたタイムアウトで切断されていだけでした。
たとえば、SMTP over SSLが必須にも関わらず、通常のプレーンなSocketでつないでしまった場合も考えて、
接続に成功しても、220のステータスがある時間(デフォルトで5秒) 帰ってこなければエラーにしていたのですが、gmailだと接続に時間がかかるときがあるらしく、
この制限に引っかかってしまっていました。
まさかそんなにかからないと思っていたので、疑ってもいませんでした。(とほほ・・・)
あと、その設定を変えられるようにしていませんでした。

なので、この制限のデフォルトを伸ばすこと(10秒)と、設定を変更できるようにします。

2)大きな添付ファイルなどをつけた時に遅いこと。
こちら、以前はBase64が遅いといいましたが、こちらもおそいのですが、
それ以上に、SecureSocketのflush()メソッドが遅いことがわかりました。
実際 800kのファイルを添付するのに、私のPCで1秒弱かかっていますが、それをBase64したあとに、
writeUTFBytes()して、flush()するのですが、
このflush()だけで、8秒弱かかっています。

ただし、原因はわかりません。ネットワークの上りがおそいのでしょうか?
それとも、大きなデータを一括でflush()してはいけないのでしょうか?(といってもそれほど大きくないともおもうが・・・)

ただ、この8秒という時間が、「応答なし」という状態を作ってしまうのはちょっといただけないなと。

このあたりを修正して、近いうちにバージョン 0.6としてアップできればと思います。

関連記事

Leave a Reply

Spam protection by WP Captcha-Free

ソフトウェア&ライブラリ



ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
カレンダー
2010年8月
« 7月   9月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

カスタム検索
RSS
Add to Google
にほんブログ村 IT技術ブログへ