タグ

androidとnetに関するbeakmarkのブックマーク (1)

  • AndroidのSSLSocketはマルチスレッドに対応しているのか

    OpenSSLを知っている人には有名な話だと思うが、OpenSSLではひとつのソケット(SSL型)に対してSSL_read()とSSL_write()を同時に呼ぶことはできない。(実際には多くの場合は動作するが、re-negotiationが動作しない) OpenSSLのFAQ この仕様は、blocking IOの時に問題となる。SSL_read()でブロックしている最中に別スレッドからSSL_write()することができないのだ。 SSL上の通信が、Read,Writeがシーケンシャルに行われるような通信の場合には問題とならないが、ReadとWriteが独立して行われる通信の場合、blocking IOのSSLは使えないことになる。 AndroidのSSL部はOpenSSLを使っているが、この辺りがどうなっているのか(制限がそのままあるのか、回避されているのか)を調べてみた。 結論として

  • 1