前のページ次のページ上に戻るホーム SophiaFramework 2.2
SFUHttpConnection
HTTP/HTTPS プロトコルを処理するクラスです。
#include <SFUNetwork/SFUHttpConnection.hpp>
class SFUHttpConnection;
typedef SFUHttpConnection&          SFUHttpConnectionRef;
typedef SFUHttpConnection*          SFUHttpConnectionPtr;
typedef SFUHttpConnection**         SFUHttpConnectionHandle;
typedef const SFUHttpConnection     ConstSFUHttpConnection;
typedef const SFUHttpConnection&    ConstSFUHttpConnectionRef;
typedef const SFUHttpConnection*    ConstSFUHttpConnectionPtr;
typedef const SFUHttpConnection**   ConstSFUHttpConnectionHandle;

協調図

SFUHttpConnection クラスの協調図

解説

SFUHttpConnection は HTTP/HTTPS プロトコルを処理するためのクラスです。 BREW API の IWeb, IWebResp, IX509Chain インターフェイスを利用して、 より使いやすくハイレベルな機能を提供しています。 このクラスは DoJa に実装されている、 com.nttdocomo.io.HttpConnection クラスと似た設計になっています。

内部状態

このクラスのオブジェクトは、4つの内部状態をとります。 内部状態はステート値により表現されます。 以下にステート値の一覧を示します。

表 10. SFUHttpConnection のステート値

STATE_CLOSED サーバーとの接続がない状態です。 Open 関数を呼び出す前や、 Close 関数を呼び出した後は、 この状態になります。
STATE_OPEN Open 関数を呼び出した後にこの状態になります。
STATE_REQUESTING Connect 関数を呼び出した後にこの状態になります。
STATE_GOTRESPONSE Connect 関数を呼び出してサーバーに接続した後、 サーバーから HTTP レスポンスを受信したときに、 この状態になります。

内部状態による状態遷移図は以下のようになります。

図 18. 状態遷移図

状態遷移図

コールバック関数

Connect によりウェブサーバーに接続し、レスポンスが得られた場合、 あるいは、途中でエラーが発生した場合、 そのことがコールバック関数により通知されます。

Open で登録したコールバック関数の 1 つめの引数に NOTIFY_RESPONSE が渡されます。 2 つめの引数には、レスポンスの取得が成功したかどうかを表すエラーコードが渡されます。 エラーコードが SFERR_NO_ERROR であれば、レスポンスの取得に成功しています。

一般的な使用手順

SFUHttpConnection の一般的な使用手順は以下のようになります。

  1. コンストラクタで SFUHttpConnection のインスタンスを作成します。
  2. Open でウェブサーバーへの接続の準備を行います。 この関数では、通信処理の通知に使われるコールバック関数を登録します。
  3. SSL 接続を行う場合、 AddX509Certificate により、証明書を追加することができます。
  4. SetRequestMethod で HTTP リクエスト メソッドを設定します。 必要であれば、 SetRequestProperty でリクエスト ヘッダを設定したり、 OpenOutputStream を使用してリクエストのボディ部にデータを設定します。
  5. Connect でウェブサーバーに接続します。
  6. ウェブサーバーから HTTP レスポンスが得られると、 Open で登録したコールバック関数が呼び出されて NOTIFY_RESPONSE 通知が行われます。
  7. コールバック関数の中で NOTIFY_RESPONSE 通知を受け取った場合、 GetResponseCode で HTTP レスポンスのステータスを取得できます。 通信に失敗した場合は、コールバック関数の第二引数にエラーコードが渡されます。 GetType でコンテンツのデータ タイプ (MIME タイプ) を知ることができます。 GetHeaderField で、レスポンス ヘッダを取得できます。 GetLength で、コンテンツの長さを取得できます。 OpenInputStream で、コンテンツをストリームとして取得することができます。
  8. 必要であれば、再度 Connect を呼び出して、ウェブサーバーに接続できます。
  9. ウェブサーバーの接続の必要性がなくなりましたら、 Closeデストラクタを呼び出すことで、 リソースを解放します。

日時表現について

GetDateGetExpiration は、 日時を1980年1月6日 00:00:00 (GMT) からの秒数で返します。 この形式の日時表現は、BREW ヘルパー関数の GETJULIANDATE や GETTIMESECONDS で扱うことができます。

サンプル アプリ

HtmlGet サンプル アプリでは、 SFUHttpConnection の使用例を示しています。 SophiaFramework の Example フォルダをご確認ください。

参照

BREW API IWeb

メンバ

コンストラクタ/デストラクタ
public
SFUHttpConnection SFUHttpConnection クラスのコンストラクタです。
public
~SFUHttpConnection SFUHttpConnection クラスのデストラクタです。
パブリック関数
public
AddX509Certificate SSL 接続で使用する X509 証明書を追加します。
public
Close
public
Connect URL を指定してウェブサーバーに接続します。
public
GetDate HTTP レスポンスの Date ヘッダの値を取得します。
public
GetEncoding HTTP レスポンス ヘッダから Content-Encoding の値を取得します。
public
GetExpiration HTTP レスポンスの Expires ヘッダの値を取得します。
public
GetHeaderField HTTP レスポンスのヘッダの値を取得します。
public
GetLastModified HTTP レスポンスの Last-Modified ヘッダの値を取得します。
public
GetLength HTTP レスポンスの Content-Length ヘッダの値を取得します。
public
GetResponseCode HTTP レスポンスのステータス コードを取得します。
public
GetResponseFlag HTTP レスポンスのフラグを取得します。
public
GetSslInfo SSL 検証結果を取得します。
public
GetState 現在のステート値を取得します。
public
GetType HTTP レスポンスの Content-Type ヘッダの値を取得します。
public
GetURL ウェブサーバーへの接続に使用した URL を取得します。
public
GetWeb 内部で使用している IWeb インターフェイスを取得します。
public
GetWebResp 内部で使用している IWebResp インターフェイスを取得します。
public
GetX509Chain 内部で使用している IX509Chain インターフェイスを取得します。
public
Open HTTP 接続の準備を行います。
public
OpenInputStream HTTP レスポンスのボディ部の入力ストリームをオープンして返します。
public
OpenOutputStream HTTP リクエストのボディ部を出力するための ストリームをオープンして返します。
public
SetIfModifiedSince HTTP リクエストの If-Modified-Since ヘッダの値を設定します。
public
SetRequestFlag HTTP リクエストのフラグを設定します。
public
SetRequestMethod HTTP リクエストのメソッドを設定します。
public
SetRequestProperty HTTP リクエストのヘッダを設定します。
public
SetTrustMode SSL の検証モードを設定します。
HttpConnectionSPP コールバック関数の型です。
NotifyEnum コールバック関数の通知コードを表します。
StateEnum 内部状態を表すステート値です。

SFUHttpConnection::SFUHttpConnection
SFUHttpConnection クラスのコンストラクタです。
[ public ]
SFUHttpConnection(Void);

解説

メンバ変数の初期化を行います。 内部状態が STATE_CLOSED に設定されます。


SFUHttpConnection::~SFUHttpConnection
SFUHttpConnection クラスのデストラクタです。
[ public, virtual ]
~SFUHttpConnection(Void);

解説

オープン状態であれば、 自動的に Close 関数が呼び出され、リソースが解放されます。

参照

SFUHttpConnection::Close


SFUHttpConnection::AddX509Certificate
SSL 接続で使用する X509 証明書を追加します。
[ public ]
SFCError AddX509Certificate(
    UInt32 type     // 証明書のタイプ
    UInt08Ptr der   // 証明書データ (DER 形式) へのポインタ
    UInt32 size     // 証明書データのサイズ
    Bool attach     // 証明書データをアタッチするか
);

引数

type

証明書のタイプを指定します。 以下のいずれかの値を指定してください。

WEBOPT_X509_ROOT_CERTS (ルート認証機関の証明書)
WEBOPT_X509_BRANCH_CERTS (中間認証機関の証明書)
WEBOPT_X509_LEAF_CERT (末端の証明書)

der

証明書データ(DER 形式)へのポインタ。

size

証明書データのサイズ。

attach

証明書データをアタッチするかどうかを指定します。 この値が TRUE の場合は、der 引数で渡された証明書データのポインタを このクラスが解放します。 FALSE の場合は der 引数で渡された証明書データを内部にコピーして使用します。 この場合は、開発者が der ポインタを解放してください。

戻り値

  • type 引数に不正な値を指定した場合は SFERR_INVALID_PARAM を返します。
  • der 引数が NULL か size 引数が 0 の場合は SFERR_INVALID_PARAM を返します。
  • 接続がオープンされてない場合は SFERR_NETWORK_NOT_OPEN を返します。
  • 現在接続中であれば SFERR_NETWORK_CONNECTING を返します。
  • メモリを確保できない場合は SFERR_NO_MEMORY を返します。
  • 成功した場合は、SFERR_NO_ERROR を返します。

解説

SSL 接続で使用する X509 証明書を追加します。 ここで設定された証明書は このクラスが Close されるまで有効です。

使用例

下記の例では、ルート証明書を追加しています。

// 証明書データ (DER 形式)
static const Byte rootCert[] = { 0x30, 0x82, 0x83 ... };

// 証明書を HTTP クラスに追加
httpConn.AddX509Certificate(WEBOPT_X509_ROOT_CERTS, rootCert, sizearray(rootCert), FALSE);

参照

SFUHttpConnection::GetX509Chain


SFUHttpConnection::Close
[ public ]
Void Close(Void);

解説

接続をクローズします。 具体的には以下の処理を行います。

  • ステート値が STATE_REQUESTING の場合は IWEB_GetResponse のコールバックをキャンセルします。
  • 内部で使用している IWeb, IWebResp などの BREW インターフェイスをすべて解放します。
  • SetRequestProperty で設定されたリクエスト ヘッダを破棄します。
  • ステート値が STATE_CLOSED に設定されます。

BREW アプレットがサスペンド状態に入る時は、 この Close 関数を呼び出して、 通信リソースを解放する必要があります。

使用例

下記の例では、BREW アプレットがサスペンドされる直前に、 SFUHttpConnection が使用しているリソースを解放しています。

Void MyApplet::OnSuspend(Void) {
    _httpConn.Close();
}

参照

SFUHttpConnection::Open


SFUHttpConnection::Connect
URL を指定してウェブサーバーに接続します。
[ public ]
SFCError Connect(
    ConstACharPtr url   // 接続する URL
);

戻り値

  • url 引数が NULL か空文字列の場合は SFERR_INVALID_PARAM を返します。
  • 接続がオープンされてない場合は SFERR_NETWORK_NOT_OPEN を返します。
  • 現在接続中であれば SFERR_NETWORK_CONNECTING を返します。
  • 内部でメモリ確保に失敗した場合は SFERR_NO_MEMORY を返します。
  • 成功した場合は SFERR_NO_ERROR を返します。

解説

URL を指定してウェブサーバーに接続します。 接続の開始に成功すると、ステート値が STATE_REQUESTING に設定されます。 前回の接続で取得したレスポンス ヘッダや OpenInputStream で取得されたストリームは破棄します。

サーバへの接続が実際に成功したかどうかは、 この関数の戻り値では取得できません。 接続の成功/失敗は、 Open で設定したコールバック関数経由で返されます。

使用例

次の例では、GET メソッドによりウェブサーバーに接続しています。

http.SetRequestMethod("GET");
http.Connect("http://www.s-cradle.com/products/framework/main.html");

参照

SFUHttpConnection::Open


SFUHttpConnection::GetDate
HTTP レスポンスの Date ヘッダの値を取得します。
[ public, const ]
UInt32 GetDate(Void);

解説

HTTP レスポンスの Date ヘッダの値を日付文字列として解析し、 1980年1月6日 00:00:00 (GMT) からの経過秒数に変換して返します。 ヘッダが存在しない場合は 0 を返します。

参照

SFUHttpConnection::GetHeaderField


SFUHttpConnection::GetEncoding
HTTP レスポンス ヘッダから Content-Encoding の値を取得します。
[ public, const ]
ConstSFUAnsiStringPtr GetEncoding(Void);

解説

GetHeaderField("Content-Encoding") を呼び出すことと同じです。

参照

SFUHttpConnection::GetHeaderField


SFUHttpConnection::GetExpiration
HTTP レスポンスの Expires ヘッダの値を取得します。
[ public, const ]
UInt32 GetExpiration(Void);

解説

HTTP レスポンスの Expires ヘッダの値を 1980年1月6日 00:00:00 (GMT) からの経過秒数 として取得します。

参照

SFUHttpConnection::GetHeaderField


SFUHttpConnection::GetHeaderField
HTTP レスポンスのヘッダの値を取得します。
[ public, const ]
ConstSFUAnsiStringPtr GetHeaderField(
    ConstACharPtr header   // ヘッダーの名前
);

解説

HTTP レスポンスのヘッダの値を取得します。 現在のステート値が STATE_GOTRESPONSE でない場合は NULL を返します。


SFUHttpConnection::GetLastModified
HTTP レスポンスの Last-Modified ヘッダの値を取得します。
[ public, const ]
UInt32 GetLastModified(Void);

解説

HTTP レスポンスの Last-Modified ヘッダの値を 1980年1月6日 00:00:00 (GMT) からの経過秒数 として取得します。


SFUHttpConnection::GetLength
HTTP レスポンスの Content-Length ヘッダの値を取得します。
[ public, const ]
UInt32 GetLength(Void);

解説

HTTP レスポンスの Content-Length ヘッダの値を取得します。 取得に失敗すると -1 を返します。


SFUHttpConnection::GetResponseCode
HTTP レスポンスのステータス コードを取得します。
[ public, const ]
UInt32 GetResponseCode(Void);

解説

HTTP レスポンスのステータス コードを取得します。 現在のステート値が STATE_GOTRESPONSE でない場合は 0 を返します。

この値は、BREW API WebRespInfo のフィールド nCode と同じく、 通信エラー時はエラー内容を負にした値が返ります。 戻り値を WEB_ERROR_MAP に渡すことによって、 BREWのエラーコードを得ることが可能です。


SFUHttpConnection::GetResponseFlag
HTTP レスポンスのフラグを取得します。
[ public, const ]
UInt32 GetResponseFlag(Void);

解説

この関数は、内部で使用している IWebResp インターフェイスに対して、 WEBOPT_FLAGS を指定して IWEBRESP_GetOpt 関数を呼び出して取得した値を返します。 HTTP レスポンスの受信処理の詳細がフラグとして取得できます。 以下の値の論理和が返されます。

  • WEBRESPONSE_REDIRECTED (IWeb によりリダイレクトが処理されました。BREW 2.1 では実装されていません。)
  • WEBRESPONSE_COOKIES (HTTP リクエストでクッキーを送信しました。BREW 2.1 では実装されていません。)
  • WEBRESPONSE_CACHED (ローカル キャッシュにからデータを取得しました。ネットワーク通信は行っていません。 BREW 2.1 では実装されていません。)
  • WEBRESPONSE_KEEPALIVE (接続はキープアライブ状態にあります。)
  • WEBRESPONSE_HTTP09 (HTTP 0.9 のレスポンスを受信しました。ヘッダーがありません。 ステータス コード 200 として処理しました。)
  • WEBRESPONSE_LOCAL (ローカルで生成されたコンテンツです。ネットワーク通信は行っていません。)
  • WEBRESPONSE_PROXIED (プロキシ経由でデータを受信しました。)
  • WEBRESPONSE_AUTHBASIC (BASIC 認証のための情報を送信しました。BREW 2.1 では実装されていません。)

参照

BREW API IWEBRESP_GetOpt | SFUHttpConnection::SetRequestFlag


SFUHttpConnection::GetSslInfo
SSL 検証結果を取得します。
[ public, const ]
SSLInfo * GetSslInfo(Void);

戻り値

  • 現在のステート値が STATE_GOTRESPONSE でない場合は NULL を返します。
  • 現在の接続が SSL 接続でない場合は NULL を返します。
  • 成功した場合は SSLInfo 構造体へのポインタを返します。 返されるポインタは Close が呼ばれるまで有効です。

解説

SSL 検証結果を取得します。

参照

BREW API SSLInfo


SFUHttpConnection::GetState
現在のステート値を取得します。
[ public, const ]
UInt32 GetState(Void);

使用例

下記の例では、ウェブサーバーからのレスポンスを受信中であるか、 レスポンスの受信が完了したかを判定しています。

if (http.GetState() == STATE_REQUESTING) {
    // 受信中の処理
}
else if (http.GetState() == STATE_GOTRESPONSE) {
    // 受信完了後の処理
}

SFUHttpConnection::GetType
HTTP レスポンスの Content-Type ヘッダの値を取得します。
[ public, const ]
ConstSFUAnsiStringPtr GetType(Void);

解説

HTTP レスポンスの Content-Type ヘッダの値を取得します。 この関数は GetHeaderField("Content-Type") を呼び出すことと同じです。

使用例

下記の例では、HTTP レスポンスで受信したデータが JPEG 画像または GIF 画像であるか判定しています。

ConstSFUAnsiStringRef type = http.GetType();
if (type == "image/jpeg" || type == "image/gif") {
    ...
}

参照

SFUHttpConnection::GetHeaderField


SFUHttpConnection::GetURL
ウェブサーバーへの接続に使用した URL を取得します。
[ public, const ]
ConstSFUAnsiStringRef GetURL(Void);

解説

この関数は、 Connect 関数を呼び出してウェブサーバーへの接続に使用した URL を取得します。

参照

SFUHttpConnection::Connect


SFUHttpConnection::GetWeb
内部で使用している IWeb インターフェイスを取得します。
[ public ]
SFUBrewPtr<SFBWeb>& GetWeb(Void);

解説

内部状態が STATE_CLOSED ならば NULL が戻ります。

参照

SFUHttpConnection::GetWebResp | SFUHttpConnection::GetX509Chain


SFUHttpConnection::GetWebResp
内部で使用している IWebResp インターフェイスを取得します。
[ public ]
SFUBrewPtr<SFBWebResp>& GetWebResp(Void);

解説

内部状態が STATE_GOTRESPONSE でない場合は NULL が戻ります。

参照

SFUHttpConnection::GetWeb | SFUHttpConnection::GetX509Chain


SFUHttpConnection::GetX509Chain
内部で使用している IX509Chain インターフェイスを取得します。
[ public ]
SFUBrewPtr<SFBX509Chain>& GetX509Chain(Void);

解説

内部状態が STATE_GETRESPONSE でない場合は NULL が戻ります。

参照

SFUHttpConnection::GetWeb | SFUHttpConnection::GetWebResp


SFUHttpConnection::Open
HTTP 接続の準備を行います。
[ public ]
SFCError Open(
    HttpConnectionSPP func   // コールバック関数
    VoidPtr data             // コールバック関数に渡すデータ
);

戻り値

  • 現在のステート値が STATE_CLOSED でない場合は SFERR_NETWORK_ALREADY_OPEN を返します。
  • 内部的に使用する INetMgr インスタンスの生成に失敗した場合は SFERR_FAILED を返します。
  • 成功した場合はステート値が STATE_OPEN に設定され、SFERR_NO_ERROR を返します。

解説

HTTP 接続の準備を行います。 この関数は、ウェブサーバーへの接続は行いません。 ウェブサーバーへの接続に必要な準備を行うだけです。

通信に関するエラーは、この関数で指定したコールバック関数経由で通知されます。

参照

SFUHttpConnection::Close | SFUHttpConnection::Connect


SFUHttpConnection::OpenInputStream
HTTP レスポンスのボディ部の入力ストリームをオープンして返します。
[ public ]
SFUSourceStreamPtr OpenInputStream(
    SFUSourceStream::SourceStreamSPP func   // SFUSourceStream 用のコールバック関数
    VoidPtr data                            // SFUSourceStream 用コールバック関数に渡されるデータ
);

戻り値

  • 現在のステート値が STATE_GOTRESPONSE でない場合は NULL を返します。
  • ボディ部のサイズが 0 の場合は NULL を返します。
  • ストリームのオープンに失敗した場合も NULL を返します。
  • 成功すると、SFUSourceStream の有効なポインタを返します。

解説

HTTP レスポンスのボディ部の入力ストリームをオープンして返します。 このストリームは Close 時および次回 Connect 呼び出しの成功時に破棄されます。

参照

SFUHttpConnection::OpenOutputStream


SFUHttpConnection::OpenOutputStream
HTTP リクエストのボディ部を出力するための ストリームをオープンして返します。
[ public ]
SFUMemoryStreamPtr OpenOutputStream(Void);

戻り値

  • 現在のステート値が STATE_OPEN か STATE_GOTRESPONSE でない場合は NULL を返します。
  • ストリームのオープンに失敗した場合も NULL を返します。
  • 成功すると、有効な SFUMemoryStream ポインタを返します。

解説

HTTP リクエストのボディ部を出力するための ストリームをオープンして返します。 開発者はこの出力ストリームに対して Close およびデストラクタを呼び出してはいけません。

参照

SFUHttpConnection::OpenOutputStream


SFUHttpConnection::SetIfModifiedSince
HTTP リクエストの If-Modified-Since ヘッダの値を設定します。
[ public ]
SFCError SetIfModifiedSince(
    UInt32 seconds   // 日時
);

引数

seconds

1980年1月6日 00:00:00 (GMT) からの秒数を指定します。

参照

SFUHttpConnection::SetRequestProperty


SFUHttpConnection::SetRequestFlag
HTTP リクエストのフラグを設定します。
[ public ]
Void SetRequestFlag(
    UInt32    // フラグ
);

解説

HTTP リクエストのフラグを設定します。 現在のステート値が STATE_OPEN か STATE_GOTRESPONSE でない場合はフラグの値は反映されません。 フラグは以下の論理和で指定します。

  • WEBREQUEST_REDIRECT (リダイレクト処理を行います。BREW 2.1 では実装されていません。)
  • WEBREQUEST_NOCOOKIES (クッキーを処理しません。BREW 2.1 では実装されていません。)
  • WEBREQUEST_NOCACHE (プロキシを経由する場合、Pragma: no-cache ヘッダを付加します。 BREW 2.1 では実装されていません。)
  • WEBREQUEST_NOKEEPALIVE (キープアライブを無効にし、HTTP/1.0 を強制します。)
  • WEBREQUEST_FORCENEWCONN (強制的に新しい接続を行います。)
  • WEBREQUEST_NOWAITCONN (再利用可能な接続の使用を待たずに、新しい接続を行います。)
  • WEBREQUEST_HTTPBOGUSCRLF (HTTP リクエストのボディ部に余分な CRLF を付加し、 CERN ウェブサーバーのバグを回避します。 次の URL を参照してください。 http://httpd.apache.org/docs/misc/known_client_problems.html#trailing-crlf )

参照

SFUHttpConnection::GetResponseFlag


SFUHttpConnection::SetRequestMethod
HTTP リクエストのメソッドを設定します。
[ public ]
SFCError SetRequestMethod(
    ConstACharPtr method   // メソッド文字列
);

戻り値

  • Open されてない場合は SFERR_NETWORK_NOT_OPEN を返します。
  • 現在接続中であれば SFERR_NETWORK_CONNECTING を返します。
  • 成功した場合は SFERR_NO_ERROR を返します。

解説

HTTP リクエストのメソッドを設定します。 ここで設定された値は Close されるまで有効です。

メソッドは、BREW の IWeb インターフェイスが対応しているものしか使用できません。 "GET"、"POST"、"HEAD" などが使用可能です。 メソッドの設定を省略した場合は、"GET" メソッドが使われます。


SFUHttpConnection::SetRequestProperty
HTTP リクエストのヘッダを設定します。
[ public ]
SFCError SetRequestProperty(
    ConstACharPtr key     // ヘッダの名前
    ConstACharPtr value   // ヘッダの値
);

戻り値

  • Open されてない場合は SFERR_NETWORK_NOT_OPEN を返します。
  • 現在接続中であれば SFERR_NETWORK_CONNECTING を返します。
  • key が NULL か空文字列、 あるいは "Connection" か "Content-Length" (大文字小文字区別なし) の場合は SFERR_INVALID_PARAM を返します。
  • メモリが確保できない場合は SFERR_NO_MEMORY を返します。
  • 成功した場合は SFERR_NO_ERROR を返します。

解説

HTTP リクエストのヘッダを設定します。 同一の key で複数回呼ばれた場合は、すべて記憶してリクエスト時に送信されます。 ここで設定された値は Close 時、あるいは接続成功時に破棄されます。


SFUHttpConnection::SetTrustMode
SSL の検証モードを設定します。
[ public ]
Void SetTrustMode(
    UInt32    // SSL 検証モード
);

解説

SSL の検証モードを設定します。 現在のステート値が STATE_OPEN か STATE_GOTRESPONSE でない場合は mode の値は反映されません。 ここで設定された値はこのクラスが Close されるまで有効です。 実機において、この値を変更した直後の Connect 呼び出しでは SSL_RESULT_SERV_VERS エラーが発生することがあります。 このエラーを避けるには、一度 Close してから検証モードを設定し、 Connect を呼び出してください。 SSL 検証モードは、以下のいずれかの値を設定します。 詳細は「BREW API リファレンス」の ISSL_NegotiateV を参照ください。

  • SSL_TRUST_MODE_FAIL (デフォルトです。トラストエラーがあると接続が失敗します。)
  • SSL_TRUST_MODE_CHECK (トラストエラーの場合、チェックまたは無視できるように中断となる。)
  • SSL_TRUST_MODE_IGNORE (すべてのトラストエラーを無視する。)
  • SSL_TRUST_MODE_ALWAYS (トラストをチェックできるように常に中断する。)

参照

BREW API ISSL_NegotiateV


SFUHttpConnection::HttpConnectionSPP
コールバック関数の型です。
typedef Void(* SFUHttpConnection::HttpConnectionSPP)(NotifyEnum, SFCError, VoidPtr)

解説

開発者は、Open 関数を呼び出して接続の準備を行うときに、 コールバック関数を登録する必要があります。

通信の成功/失敗は、コールバック関数を通じて通知されます。

参照

SFUHttpConnection::Open


SFUHttpConnection::NotifyEnum
コールバック関数の通知コードを表します。
enum NotifyEnum {
    NOTIFY_RESPONSE = 1
};

参照

SFUHttpConnection::HttpConnectionSPP


SFUHttpConnection::StateEnum
内部状態を表すステート値です。
enum StateEnum {
    STATE_CLOSED      = 0x0000,
    STATE_OPEN        = 0x0001,
    STATE_REQUESTING  = 0x0002,
    STATE_GOTRESPONSE = 0x0004
};

参照

SFUHttpConnection::GetState