前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBSocket
ISocket インターフェースのラッパークラスです。
#include <SFBSocket.h.hpp>
class SFBSocket : public SFBAStream;
SFMTYPEDEFWRAPPER(SFBSocket)

継承図

SFBSocket クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0

参照

BREW API ISocket

メンバ

パブリック関数
SFCError Accept( SFBSocketSmpPtr socket )
クライアント ソケットを受け取ります。
SFCError Bind( INAddr addr , INPort port )
ローカル アドレスとポートをソケットに関連付けます。 未接続のソケットではバインド関数を使います。
SFCError Bind( SFXSocketAddressConstRef dest )
ローカル アドレスとポートをソケットに関連付けます。 未接続のソケットではバインド関数を使います。
Void Cancel( PFNNOTIFY notify = null , VoidPtr data = null )
SFBSocket::Readable 関数または SFBSocket::Writeable 関数を使用して登録したコールバック関数を登録解除します。
SFCError Close( Void )
ソケットを閉じます。
SFCError Connect( INAddr addr , INPort port , PFNCONNECTCB notify , VoidPtr data = null )
指定したアドレスおよびポートで TCP 接続します。
SFCError Connect( SFXSocketAddressConstRef dest , PFNCONNECTCB notify , VoidPtr data = null )
指定したアドレスおよびポートで TCP 接続します。
Void DbgMark( ACharConstPtr file , UInt32 line )
デバッグのために __FILE__ と __LINE__ で SFBSocket インスタンスをマークします。
SFCError GetLastError( Void )
指定したソケットで発生した最後のエラーを取得します。
SFCError GetOpt( SInt32 level , SInt32 optName , VoidPtr optVal , SInt32Ptr optSize )
ソケットのオプションを取得します。
SFCError GetOpt( SInt32 level , SInt32 optName , SFXBufferPtr opt )
ソケットのオプションを取得します。
SFCError GetPeerName( INAddr* addr , INPort* port )
ピアの IP アドレスとポートを取得します ( たとえば、このソケットが最後に通信したエンティティの IP アドレス )。
SFCError GetPeerName( SFXSocketAddressPtr dest )
ピアの IP アドレスとポートを取得します ( たとえば、このソケットが最後に通信したエンティティの IP アドレス )。
SFXSocketAddress GetPeerName( Void )
ピアの IP アドレスとポートを取得します ( たとえば、このソケットが最後に通信したエンティティの IP アドレス )。
SFCError GetSockName( INAddr* addr , INPort* port )
ソケットのローカル IP アドレスとポート番号を取得します。
SFCError GetSockName( SFXSocketAddressPtr dest )
ソケットのローカル IP アドレスとポート番号を取得します。
SFXSocketAddress GetSockName( Void )
ソケットのローカル IP アドレスとポート番号を取得します。
SFCError IOCtl( SInt32 option , UInt32 value )
ISocketの動作、たとえば、接続タイムアウトなどを制御します。
SFCError Listen( SInt32 maxPending )
ソケットをリッスンします。
SInt32 ReadV( SockIOBlock* ioblocks , UInt16 count )
ソケットからデータを読み込み、 1 つ以上のバッファにデータを書き込みます。
SFCError Realize( Void )
IP アドレスを取得し、ネットワーク層に通信の初期処理の完了を確認します。
SInt32 RecvFrom( VoidPtr buff , UInt16 bytes , UInt16 flags , INAddr* addr , INPort* port )
UDP ソケットからデータを読み込み、送信元の IP アドレスとポートを記録します。
SInt32 RecvFrom( SFXBufferPtr buff , UInt16 flags , INAddr* addr , INPort* port )
UDP ソケットからデータを読み込み、送信元の IP アドレスとポートを記録します。
SInt32 RecvFrom( VoidPtr buff , UInt16 bytes , UInt16 flags , SFXSocketAddressPtr sender )
UDP ソケットからデータを読み込み、送信元の IP アドレスとポートを記録します。
SInt32 RecvFrom( SFXBufferPtr buff , UInt16 flags , SFXSocketAddressPtr sender )
UDP ソケットからデータを読み込み、送信元の IP アドレスとポートを記録します。
SInt32 SendTo( VoidPtr buff , UInt16 bytes , UInt16 flags , INAddr addr , INPort port )
ソケットにバインドされたローカルポートから指定した IP アドレスおよびポートに UDP パケットを送信します。
SInt32 SendTo( SFXBufferPtr buff , UInt16 flags , INAddr addr , INPort port )
ソケットにバインドされたローカルポートから指定した IP アドレスおよびポートに UDP パケットを送信します。
SInt32 SendTo( VoidPtr buff , UInt16 bytes , UInt16 flags , SFXSocketAddressConstRef dest )
ソケットにバインドされたローカルポートから指定した IP アドレスおよびポートに UDP パケットを送信します。
SInt32 SendTo( SFXBufferPtr buff , UInt16 flags , SFXSocketAddressConstRef dest )
ソケットにバインドされたローカルポートから指定した IP アドレスおよびポートに UDP パケットを送信します。
SFCError SetOpt( SInt32 level , SInt32 optName , VoidPtr optVal , SInt32 optSize )
ソケットのオプションを設定します。
SFCError SetOpt( SInt32 level , SInt32 optName , SFXBufferConstRef opt )
ソケットのオプションを設定します。
SFCError Shutdown( SInt32 how )
全二重接続の全部または一部を終了させます。
SInt32 Write( VoidPtr buff , UInt32 bytes )
単一のバッファからデータを読み込み、接続済みのソケットに書き込みます。
SInt32 Write( SFXBufferPtr buff )
単一のバッファからデータを読み込み、接続済みのソケットに書き込みます。
SInt32 WriteV( SockIOBlock* ioblocks , UInt16 count )
接続済みのソケットにデータを書き込みます。
Void Writeable( PFNNOTIFY notify , VoidPtr data = null )
指定したソケットでのノンブロッキング書き込み操作 ( SFBSocket::Write 関数、 SFBSocket::WriteV 関数、 またはSFBSocket::SendTo 関数 )を 継続できる場合に、AEE が呼び出すコールバック関数を登録します。
SInt32 Read( VoidPtr buffer , UInt32 count ) (SFBAStream から継承)
ストリームからデータを読み込み、読み込んだバイト数を取得します。
SInt32 Read( SFXBufferPtr buffer ) (SFBAStream から継承)
ストリームからデータを読み込み、読み込んだバイト数を取得します。
Void Readable( PFNNOTIFY notify , VoidPtr data = null ) (SFBAStream から継承)
データが読み込み可能かどうかを判定するコールバックを登録します。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBSocket::Accept
クライアント ソケットを受け取ります。
[ public ]
SFCError Accept(
    SFBSocketSmpPtr socket   // 新しく受け入れられた SFBSocket インスタンスへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 使用可能な新しいソケットがないとき: AEE_NET_WOULDBLOCK
  • 操作に失敗したとき: AEE_NET_ERROR

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API ISOCKET_Accept | SFBSocket::Listen | SFBAStream::Readable


SFBSocket::Bind
ローカル アドレスとポートをソケットに関連付けます。 未接続のソケットではバインド関数を使います。
[ public ]
SFCError Bind(
    INAddr addr   // IP アドレス
    INPort port   // ポート
);
[ public ]
SFCError Bind(
    SFXSocketAddressConstRef dest   // IP アドレスとポート
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 操作がブロックされたとき: AEE_NET_WOULDBLOCK
  • 操作に失敗したとき: AEE_NET_ERROR

参照

BREW API ISOCKET_Bind


SFBSocket::Cancel
SFBSocket::Readable 関数または SFBSocket::Writeable 関数を使用して登録したコールバック関数を登録解除します。
[ public ]
Void Cancel(
    PFNNOTIFY notify = null   // キャンセルするコールバック関数へのポインタ
    VoidPtr data = null       // コールバック関数の登録時のコールバック データ
);

参照

BREW API ISOCKET_Cancel | PFNNOTIFY


SFBSocket::Close
ソケットを閉じます。
[ public ]
SFCError Close(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 閉じる操作が進行中のとき: AEE_NET_WOULDBLOCK
  • 操作に失敗したとき: AEE_NET_ERROR

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API ISOCKET_Close | SFBAStream::Readable | SFBSocket::Writeable


SFBSocket::Connect
指定したアドレスおよびポートで TCP 接続します。
[ public ]
SFCError Connect(
    INAddr addr           // IP アドレス
    INPort port           // ポート
    PFNCONNECTCB notify   // 接続が正常に終了したか失敗したかに関わらず、
                          // AEE によってコールされるコールバック関数のアドレス
    VoidPtr data = null   // コールバック関数が呼び出されたときに渡されるユーザー定義データ
);
[ public ]
SFCError Connect(
    SFXSocketAddressConstRef dest   // IP アドレスとポート
    PFNCONNECTCB notify             // 接続が正常に終了したか失敗したかに関わらず、
                                    // AEE によってコールされるコールバック関数のアドレス
    VoidPtr data = null             // コールバック関数が呼び出されたときに渡されるユーザー定義データ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • null コールバックポインタ ( notify ) が渡されたとき: AEE_NET_ERROR

参照

BREW API ISOCKET_Connect | PFNCONNECTCB


SFBSocket::DbgMark
デバッグのために __FILE__ と __LINE__ で SFBSocket インスタンスをマークします。
[ public ]
Void DbgMark(
    ACharConstPtr file   // __FILE__ 
    UInt32 line          // __LINE__ 
);

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API ISOCKET_DbgMark | SFBSocket::IOCtl


SFBSocket::GetLastError
指定したソケットで発生した最後のエラーを取得します。
[ public ]
SFCError GetLastError(Void);

戻り値

AEEError.h で定義されているエラー値を返します。

参照

BREW API ISOCKET_GetLastError


SFBSocket::GetOpt
ソケットのオプションを取得します。
[ public ]
SFCError GetOpt(
    SInt32 level        // オプションレベル ( AEESockOpt を参照 )
    SInt32 optName      // オプション名 ( AEESockOpt を参照 ) 
    VoidPtr optVal      // オプションに適したデータ型へのポインタ
    SInt32Ptr optSize   // optVal のサイズへのポインタ
);
[ public ]
SFCError GetOpt(
    SInt32 level       // オプションレベル ( AEESockOpt を参照 )
    SInt32 optName     // オプション名 ( AEESockOpt を参照 )
    SFXBufferPtr opt   // オプションに適したバッファへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • opt が null のとき: SFERR_INVALID_PARAM
  • 操作が進行中のとき: AEE_NET_WOULDBLOCK
  • 操作に失敗したとき: AEE_NET_ERROR

バージョン

この関数は、BREW 3.1 から使用可能です。

参照

BREW API ISOCKET_GetOpt | SFBSocket::SetOpt | SFBAStream::Readable


SFBSocket::GetPeerName
ピアの IP アドレスとポートを取得します ( たとえば、このソケットが最後に通信したエンティティの IP アドレス )。
[ public ]
SFCError GetPeerName(
    INAddr* addr   // IP アドレスへのポインタ
    INPort* port   // ポートへのポインタ
);
[ public ]
SFCError GetPeerName(
    SFXSocketAddressPtr dest   // SFXSocketAddress へのポインタ
);
[ public ]
SFXSocketAddress GetPeerName(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • dest が null のとき: SFERR_INVALID_PARAM
  • UDP のとき: AEE_NET_EOPNOTSUPP
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API ISOCKET_GetPeerName


SFBSocket::GetSockName
ソケットのローカル IP アドレスとポート番号を取得します。
[ public ]
SFCError GetSockName(
    INAddr* addr   // IP アドレスへのポインタ
    INPort* port   // ポートへのポインタ
);
[ public ]
SFCError GetSockName(
    SFXSocketAddressPtr dest   // SFXSocketAddress へのポインタ
);
[ public ]
SFXSocketAddress GetSockName(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • dest が null のとき: SFERR_INVALID_PARAM
  • 失敗したとき: AEEError.h で定義されているエラー値

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API ISOCKET_GetSockName


SFBSocket::IOCtl
ISocketの動作、たとえば、接続タイムアウトなどを制御します。
[ public ]
SFCError IOCtl(
    SInt32 option   // オプション ID
    UInt32 value    // オプション値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • オプション IDが認識されなかったとき: SFERR_UNSUPPORTED
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API ISOCKET_IOCtl


SFBSocket::Listen
ソケットをリッスンします。
[ public ]
SFCError Listen(
    SInt32 maxPending   // 待機中の接続の最大数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • リッスンできないとき: AEE_NET_WOULDBLOCK
  • 操作に失敗したとき: AEE_NET_ERROR

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API ISOCKET_Listen | SFBSocket::Accept | SFBSocket::Writeable


SFBSocket::ReadV
ソケットからデータを読み込み、 1 つ以上のバッファにデータを書き込みます。
[ public ]
SInt32 ReadV(
    SockIOBlock* ioblocks   // データを読み込む SockIOBlock 構造体の配列
    UInt16 count            // ioblocks 配列のエントリ数
);

参照

BREW API ISOCKET_ReadV | SockIOBlock


SFBSocket::Realize
IP アドレスを取得し、ネットワーク層に通信の初期処理の完了を確認します。
[ public ]
SFCError Realize(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 実体化操作が進行中のとき: AEE_NET_WOULDBLOCK
  • 操作に失敗したとき: AEE_NET_ERROR

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API ISOCKET_Realize


SFBSocket::RecvFrom
UDP ソケットからデータを読み込み、送信元の IP アドレスとポートを記録します。
[ public ]
SInt32 RecvFrom(
    VoidPtr buff   // 受信データを格納するバッファ
    UInt16 bytes   // バッファのサイズ( バイト 数)
    UInt16 flags   // 未使用。必ず 0 に設定する
    INAddr* addr   // IP アドレスへのポインタ
    INPort* port   // ポートへのポインタ
);
[ public ]
SInt32 RecvFrom(
    SFXBufferPtr buff   // 受信データを格納するバッファサイズの値は API 呼び出し時に UInt16 に変換される
    UInt16 flags        // 未使用。必ず 0 に設定する
    INAddr* addr        // IP アドレスへのポインタ
    INPort* port        // ポートへのポインタ
);
[ public ]
SInt32 RecvFrom(
    VoidPtr buff                 // 受信データを格納するバッファ
    UInt16 bytes                 // バッファのサイズ( バイト数 )
    UInt16 flags                 // 未使用。必ず 0 に設定する
    SFXSocketAddressPtr sender   // 受信元
);
[ public ]
SInt32 RecvFrom(
    SFXBufferPtr buff            // 受信データを格納するバッファサイズの値は API 呼び出し時に UInt16 に変換される
    UInt16 flags                 // 未使用必ず0 に設定する
    SFXSocketAddressPtr sender   // 受信元
);

参照

BREW API ISOCKET_RecvFrom


SFBSocket::SendTo
ソケットにバインドされたローカルポートから指定した IP アドレスおよびポートに UDP パケットを送信します。
[ public ]
SInt32 SendTo(
    VoidPtr buff   // 送信データが格納されているバッファ
    UInt16 bytes   // バッファのサイズ( バイト数 )
    UInt16 flags   // 未使用、必ず 0 を設定する
    INAddr addr    // IP アドレス
    INPort port    // ポート
);
[ public ]
SInt32 SendTo(
    SFXBufferPtr buff   // 送信データが格納されているバッファ null の場合、何もせずに AEE_NET_ERROR を返す
    UInt16 flags        // 未使用、必ず 0 を設定する
    INAddr addr         // IP アドレス
    INPort port         // ポート
);
[ public ]
SInt32 SendTo(
    VoidPtr buff                    // 送信データが格納されているバッファ
    UInt16 bytes                    // バッファのサイズ( バイト数 )
    UInt16 flags                    // 未使用、必ず 0 を設定する
    SFXSocketAddressConstRef dest   // 送信先
);
[ public ]
SInt32 SendTo(
    SFXBufferPtr buff               // 送信データが格納されているバッファ
                                    // null の場合、何もせずに AEE_NET_ERROR を返す
    UInt16 flags                    // 未使用、必ず 0 を設定する
    SFXSocketAddressConstRef dest   // 送信先
);

参照

BREW API ISOCKET_SendTo


SFBSocket::SetOpt
ソケットのオプションを設定します。
[ public ]
SFCError SetOpt(
    SInt32 level     // オプションレベル ( AEESockOpt を参照 )
    SInt32 optName   // オプション名 ( AEESockOpt を参照 ) 
    VoidPtr optVal   // オプションに適したデータ型へのポインタ
    SInt32 optSize   // optVal のサイズへのポインタ
);
[ public ]
SFCError SetOpt(
    SInt32 level            // オプションレベル ( AEESockOpt を参照 )
    SInt32 optName          // オプション名 ( AEESockOpt を参照 )
    SFXBufferConstRef opt   // オプションに適したバッファへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • opt が null のとき: SFERR_INVALID_PARAM
  • 操作が進行中のとき: AEE_NET_WOULDBLOCK
  • 操作に失敗したとき: AEE_NET_ERROR

バージョン

この関数は、BREW 3.1 から使用可能です。

参照

BREW API ISOCKET_SetOpt | SFBSocket::GetOpt | SFBSocket::Writeable


SFBSocket::Shutdown
全二重接続の全部または一部を終了させます。
[ public ]
SFCError Shutdown(
    SInt32 how   // 接続のどの部分をシャットダウンするか記述する
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • シャットダウンが進行中のとき: AEE_NET_WOULDBLOCK
  • 操作に失敗したとき: AEE_NET_ERROR

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API ISOCKET_Shutdown | SFBSocket::Writeable


SFBSocket::Write
単一のバッファからデータを読み込み、接続済みのソケットに書き込みます。
[ public ]
SInt32 Write(
    VoidPtr buff   // 送信データが格納されているバッファへのポインタ
    UInt32 bytes   // バッファのサイズ( バッファ内でのバイト数 )
                   // BREW 2.0 では型は UInt16 
);
[ public ]
SInt32 Write(
    SFXBufferPtr buff   // バッファ
                        // null の場合、何もせずに AEE_NET_ERROR を返す
);

解説

BREW 2.0 では、API 呼び出し時にサイズの値が UInt16 に変換されます。

参照

BREW API ISOCKET_Write


SFBSocket::WriteV
接続済みのソケットにデータを書き込みます。
[ public ]
SInt32 WriteV(
    SockIOBlock* ioblocks   // 送信する各バッファが格納されている SockIOBlock の配列
    UInt16 count            // SockIOBlock 構造体のエントリ数
);

参照

BREW API ISOCKET_WriteV | SockIOBlock


SFBSocket::Writeable
指定したソケットでのノンブロッキング書き込み操作 ( SFBSocket::Write 関数、 SFBSocket::WriteV 関数、 またはSFBSocket::SendTo 関数 )を 継続できる場合に、AEE が呼び出すコールバック関数を登録します。
[ public ]
Void Writeable(
    PFNNOTIFY notify      // コールバック関数のアドレス
                          // ソケットがデータ受信可能になったとき、
                          // または閉じる準備ができたときに AEE によって呼び出される。
                          // notify に null を指定すると、
						  // 以前この関数の呼び出しで登録されたコールバック関数がキャンセルされる
    VoidPtr data = null   // コールバック関数が呼び出されたときに渡されるユーザー定義データ
);

参照

BREW API ISOCKET_Writeable | PFNNOTIFY