前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0
SFBSocket
ISocket インターフェイスのラッパークラスです。
#include <SFBSocket.h.hpp>
class SFBSocket : public SFBAStream;
SFMTYPEDEFWRAPPER(SFBSocket)

継承図

SFBSocket クラスの継承図

協調図

SFBSocket クラスの協調図

参照

BREW API ISocket

バグ情報

ISOCKET_Connect
仕様変更 BREW 2.0、2.1 の SDK および実機

BREW 2.0 以前では、UDP ソケットに対し ISOCKET_Connect() をコールしてもエラーとはなりませんでしたが、 BREW 2.1 以降ではエラーとなります。

メンバ

パブリック関数
SFCError Accept( SFBSocketSmpPtr socket )
クライアント ソケットを受け取ります。
SFCError Bind( INAddr addr , INPort port )
Bind( SFUIPEndpointConstRef 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 )
Connect( SFUIPEndpointConstRef dest , PFNCONNECTCB notify , VoidPtr data = null )
AEE_SOCK_STREAM タイプのソケットでは、 指定されたアドレスおよびポートとの TCP 接続を試行します。
SFCError DbgMark( ACharConstPtr file , UInt32 line )
デバッグのために __FILE__ と __LINE__ で SFBSocket をマークします。
SFCError GetLastError( Void )
指定されたソケットで発生した最後のエラーを返します。
SFCError GetPeerName( INAddr* addr , INPort* port )
GetPeerName( SFUIPEndpointPtr dest )
ピアの IP アドレスとポートを返します (たとえば、このソケットが最後に通信したエンティティのIPアドレス)。
SFUIPEndpoint GetPeerName( Void )
ピアの IP アドレスとポートを返します (たとえば、このソケットが最後に通信したエンティティのIPアドレス)。
SFCError GetSockName( INAddr* addr , INPort* port )
GetSockName( SFUIPEndpointPtr dest )
ソケットのローカル IP アドレスとポート番号を取得します。
SFUIPEndpoint 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 )
RecvFrom( SFXBufferPtr buff , UInt16 flags , SFUIPEndpointPtr sender )
RecvFrom( VoidPtr buff , UInt16 bytes , UInt16 flags , SFUIPEndpointPtr sender )
RecvFrom( SFXBufferPtr buff , UInt16 flags , INAddr* addr , INPort* port )
UDP ソケットからデータを読み込み、送信元の IP アドレスとポートを記録します。
SInt32 SendTo( VoidPtr buff , UInt16 bytes , UInt16 flags , INAddr addr , INPort port )
SendTo( SFXBufferPtr buff , UInt16 flags , SFUIPEndpointConstRef dest )
SendTo( VoidPtr buff , UInt16 bytes , UInt16 flags , SFUIPEndpointConstRef dest )
SendTo( SFXBufferPtr buff , UInt16 flags , INAddr addr , INPort port )
ソケットにバインドされたローカルポートから指定された IP アドレスおよびポートにUDPパケットを送信します。
SFCError Shutdown( SInt32 how )
全二重接続の全部または一部を、行儀よく終了させます。
SInt32 Write( VoidPtr buff , UInt32 bytes )
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 から継承)
Read( SFXBufferPtr buffer ) (SFBAStream から継承)
ストリームからデータを読み込み、読み込んだバイト数を返します。
Void Readable( PFNNOTIFY notify , VoidPtr data = null ) (SFBAStream から継承)
データが読み込み可能かどうかをチェックするコールバックを登録します。

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

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

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


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

参照

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);

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

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


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

参照

BREW API ISOCKET_Connect | PFNCONNECTCB


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

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API ISOCKET_DbgMark | SFBSocket::IOCtl


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

参照

BREW API ISOCKET_GetLastError


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

参照

BREW API ISOCKET_GetPeerName


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

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API ISOCKET_GetSockName


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

参照

BREW API ISOCKET_IOCtl


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

バージョン

この関数は、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);

バージョン

この関数は、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 に設定する。
    SFUIPEndpointPtr sender   // 受信元。
);
[ public ]
SInt32 RecvFrom(
    SFXBufferPtr buff         // 受信データを格納するバッファ。サイズの値は API 呼び出し時に UInt16 に変換される。
    UInt16 flags              // 未使用。必ず0 に設定する。
    SFUIPEndpointPtr 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 に設定する。
    SFUIPEndpointConstRef dest   // 送信先。
);
[ public ]
SInt32 SendTo(
    SFXBufferPtr buff            
// 送信データが格納されているバッファ。
// null の場合、何もせずに AEE_NET_ERROR を返す。
    UInt16 flags                 // 未使用。必ず 0 に設定する。
    SFUIPEndpointConstRef dest   // 送信先。
);

参照

BREW API ISOCKET_SendTo


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

バージョン

この関数は、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 を指定すると、事前の 
// SFBSocket::Writeable() のコールで登録された Writeable コールバック関数がキャンセルされる。
        
    VoidPtr data = null   // コールバック関数がコールされたときに渡されるユーザー定義データ。
);

参照

BREW API ISOCKET_Writeable | PFNNOTIFY