![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0 |
| INETMGR_OpenSocket | |
| ドキュメント エラー | BREW API リファレンス 2.0.1.5 |
API リファレンスには、ソケット数が上限に達している時、INETMGR_OpenSocket が null を返すとありますが、 これは誤りです。BREW は、ソケットを Connect あるいは Bind あるいは SendTo する際に初めて「実際の」ソケットを 作成します。
従って、特権レベルの設定に誤りがなければ、INETMGR_OpenSocket は常に ISocket オブジェクトを返します。
ソケット数が上限に達した場合、ISOCKET_Bind、_Connect、_SendTo に対して AEE_NET_EMFILE が返ります。
補記:BREW API リファレンス 2.1 (英語版) で修正されました。日本語版は未修正です。
| パブリック関数 | |
|---|---|
| Void |
GetHostByName(
AEEDNSResult* result
, ACharConstPtr domain
, AEECallback* callback
) GetHostByName( AEEDNSResult* result , SFXAnsiStringConstRef domain , AEECallback* callback ) 指定されたホスト名に関連するIPアドレスを取得します。
|
| SFCError |
GetLastError( Void ) INetMgrインタフェースで発生した最後のエラーを返します。
|
| INAddr |
GetMyIPAddr( Void ) ローカルホストまたはデバイスのIPアドレスを返します。
|
| SFCError |
GetOpt(
SInt32 optName
, VoidPtr value
, SInt32Ptr size
) GetOpt( SInt32 optName , SFXBufferPtr value ) 特定のネットワークオプションを問い合わせる機能を提供します。
|
| NetState |
NetStatus(
AEENetStats* stats
) 現在のネットワークのステータスを NetState 型の NetState enum として返します。
|
| static SFBNetMgrSmp |
NewInstance( Void ) SFBNetMgr インターフェイスのインスタンスを取得します。
|
| SInt32 |
OnEvent(
PFNNETMGREVENT notify
, VoidPtr data = null
, Bool reg = true
) この関数を使用すると、コール側が実行中の SFBNetMgr 処理の通知を受け取るよう登録できます。
|
| SFBSocketSmp |
OpenSocket(
NetSocket type
) ソケットを作成し、ISocket インタフェースインタフェースへのポインタを返します。
|
| SInt32 |
RegisterEvent(
PFNNETMGREVENT notify
, VoidPtr data = null
)
通知関数を登録します。
|
| UInt16 |
SetLinger(
UInt16 secs
) ネットワーク接続の待機時間を、secs で指定された値に設定し、以前の設定値を返します。
|
| SFCError |
SetOpt(
SInt32 optName
, VoidPtr value
, SInt32 size
) SetOpt( SInt32 optName , SFXBufferPtr value ) 特定のネットワークオプションを設定する機能を提供します。
|
| SInt32 |
UnregisterEvent(
PFNNETMGREVENT notify
, VoidPtr data = null
)
通知関数を登録解除します。
|
| プライベート関数 | |
|---|---|
| private Void |
SetMask(
UInt32ConstPtr masks
)
(SFBNotifier から継承)
AEE シェルによってコールされ、ほかのアプレットが必要とする、
発行されたすべての通知を Notifier クラスに通告します。
|
[ public ] Void GetHostByName( AEEDNSResult* result // 結果構造体へのポインタ。 ACharConstPtr domain // 解決するドメイン名。 // コロン(:)、スラッシュ(/)、またはnull(\0)で終結する必要がある。 AEECallback* callback // コールバックへのポインタ。 );
[ public ] Void GetHostByName( AEEDNSResult* result // 結果構造体へのポインタ。 SFXAnsiStringConstRef domain // 解決するドメイン名。 // コロン(:)、スラッシュ(/)、またはnull(\0)で終結する必要がある。 AEECallback* callback // コールバックへのポインタ。 );
[ public ] SFCError GetLastError(Void);
[ public ] INAddr GetMyIPAddr(Void);
[ public ] SFCError GetOpt( SInt32 optName // 取得するオプションを指定する整数。 VoidPtr value // オプション固有のデータが格納される。 SInt32Ptr size // valueが非 null の場合、入力時はpOptValのサイズを指定する。 // このサイズは、オプションデータの要求サイズに一致しなければならない。 // valueが null の場合、入力時は無視され、出力時はオプションデータの要求サイズが格納される。 );
[ public ] SFCError GetOpt( SInt32 optName // 取得するオプションを指定する整数。 SFXBufferPtr value // オプション固有のデータが格納される。サイズは自動的に変更される。 );
[ public ] NetState NetStatus( AEENetStats* stats // 統計データを格納するブロックへのポインタ。 );
ネットワークの状態を取得し、 ログに表示します。
NetState state;
AEENetStats stats;
// SFBNetMgr インスタンスを作成します。
SFBNetMgrSmp netmgr = SFBNetMgr::NewInstance();
// ネットワークの状態を取得します。
state = netmgr->NetStatus(&stats);
// ネットワークの状態をログに表示します。
switch (state) {
case NET_INVALID_STATE:
DBGPRINTF ("*** Status: Invalid ***");
break;
case NET_PPP_OPENING:
DBGPRINTF ("*** Status: Opening ***");
break;
case NET_PPP_OPEN:
DBGPRINTF ("*** Status: Open ***");
break;
case NET_PPP_CLOSING:
DBGPRINTF ("*** Status: Closing ***");
break;
case NET_PPP_CLOSED:
DBGPRINTF ("*** Status: Closed ***");
break;
case NET_PPP_SLEEPING:
DBGPRINTF ("*** Status: Sleeping ***");
break;
case NET_PPP_ASLEEP:
DBGPRINTF ("*** Status: ASleep ***");
break;
case NET_PPP_WAKING:
DBGPRINTF ("*** Status: Waking ***");
break;
}
[ public, static ] SFBNetMgrSmp NewInstance(Void);
[ public ] SInt32 OnEvent( PFNNETMGREVENT notify // イベント発生時にコールされる、ユーザー指定のコールバック。 VoidPtr data = null // コールバックへの第1 引数として渡される、ユーザー指定のコンテキストデータ。 Bool reg = true // 登録する場合はtrue、登録を解除する場合はfalse。 );
[ public ] SFBSocketSmp OpenSocket( NetSocket type // 次のソケットのタイプを指定する。 TCP : AEE_SOCK_STREAM / UDP : AEE_SOCK_DGRAM );
[ public ] SInt32 RegisterEvent( PFNNETMGREVENT notify // イベント発生時にコールされる、ユーザー指定のコールバック。 VoidPtr data = null // コールバックへの第1 引数として渡される、ユーザー指定のコンテキストデータ。 );
この関数は SFBNetMgr::OnEvent(pfn, pUser, true) を呼び出すのと同じです。
ネットワーク接続の待機時間を設定します。
// SFBNetMgr インスタンスを作成します。 SFBNetMgrSmp netmgr = SFBNetMgr::NewInstance(); // ネットワーク接続の待機時間を 5 秒に設定します。 netmgr->SetLinger(5);
[ public ] SFCError SetOpt( SInt32 optName // 設定するオプションを指定する整数。 VoidPtr value // オプション固有のデータが格納される。 SInt32 size // value のサイズ。 );
[ public ] SFCError SetOpt( SInt32 optName // 設定するオプションを指定する整数。 SFXBufferPtr value // オプション固有のデータが格納される。null の場合、何もせずに EBADPARM を返す。 );
[ public ] SInt32 UnregisterEvent( PFNNETMGREVENT notify // 解除する通知関数 VoidPtr data = null // コールバックへの第1 引数として渡される、ユーザー指定のコンテキストデータ。 );
この関数は SFBNetMgr::OnEvent(pfn, pUser, false) を呼び出すのと同じです。
|
Copyright (C) 2002 - 2009 Sophia Cradle, Inc. All Rights Reserved. |
![]() ![]() ![]()
|