SophiaFramework UNIVERSE 5.3 |
SFXUDPSocket クラスは、 UDP クライアント、またはUDP サーバーを実装するための機能を提供します。
このクラスでは、ストリームを利用してデータ送受信することはできません。 SFXUDPSocket::Send / SFXUDPSocket::Receive 関数を呼び出してデータを送受信します。
注意 | |
---|---|
SFXUDPSocket クラスは、 BREW API の ISocket インターフェースをカプセル化し、 ハイレベルな UDP ソケット通信機能を提供します。 |
UDP クライアントの実装
UDP クライアントは、 SFXUDPSocket クラスを使用して以下の手順で実装します。
注意 | |
---|---|
UDP ソケットからデータを受信するには、 ローカル の IP アドレスとポート番号を UDP ソケットにバインドして UDP サーバーを実装する必要があります。 |
UDP サーバーの実装
UDP サーバーは、 SFXUDPSocket クラスを使用して以下の手順で実装します。
注意 | |
---|---|
UDP サーバーは、 UDP クライアントとして UDP サーバーにデータを送信することも可能です。 |
例 856. UDP クライアント兼サーバーの実装
// UDP ソケット (_socket) はクラスのメンバ変数として定義する class MyClass { private: SFXUDPSocket _socket; // UDP ソケット public: Void Start(Void); // コールバック関数 XALLBACK_DECLARE_SFXUDPSOCKET(OnBind) XALLBACK_DECLARE_SFXUDPSOCKET(OnSend) XALLBACK_DECLARE_SFXUDPSOCKET(OnReceive) }; Void MyClass::Start(Void) { SFCError error; // ソケットを開く if ((error = _socket.Open()) == SFERR_NO_ERROR) { // ソケットをローカル の IP アドレスとポート番号にバインドする OnBind(SFERR_NO_ERROR); } return; } // Bind 可能が通知されるコールバック関数 XALLBACK_IMPLEMENT_SFXUDPSOCKET(MyClass, OnBind, error) { SFXSocketAddress address(SFXInetAddress::LoopbackInetAddress(), 1024); // エラーが発生したかどうかチェックする if (error == SFERR_NO_ERROR) { error = _socket.Bind(address); switch (error) { case SFERR_NO_ERROR: // データを送信する OnSend(SFERR_NO_ERROR); break; case AEE_NET_WOULDBLOCK: // バインドがブロックされたとき // Bind をスケジュールする: OnBind コールバック関数を登録する // ※ OnBind コールバック関数は Bind 可能になれば BREW AEE により呼び出される _socket.ScheduleBind(XALLBACK_INTERNAL(OnBind)); break; } } return; } // Send(データ送信)可能が通知されるコールバック関数 XALLBACK_IMPLEMENT_SFXUDPSOCKET(MyClass, OnSend, error) { static ACharConst data[] = "udp!"; SFXSocketAddress address(SFXInetAddress::LoopbackInetAddress(), 1024); UInt32 send_size; UInt32 data_size = sizeof(data) - 1; send_size = data_size; // エラーが発生したかどうかチェックする if (error == SFERR_NO_ERROR) { // データを送信する error = _socket.Send(address, data, &send_size); switch (error) { case SFERR_NO_ERROR: // 指定したサイズのデータが書き込まれたかチェックする // Send 関数は指定したサイズのデータを一度に書き込めないことがある // その場合、ここでは簡易化のためエラーとしている if (send_size == data_size) { // データを受信する OnReceive(SFERR_NO_ERROR); } else { TRACE("...send failed..."); } break; case AEE_NET_WOULDBLOCK: // データ送信がブロックされたとき // Send をスケジュールする: OnSend コールバック関数を登録する // ※ OnSend コールバック関数は Send 可能になれば BREW AEE により呼び出される _socket.ScheduleSend(XALLBACK_INTERNAL(OnSend)); break; } } return; } // Receive(データ受信)可能が通知されるコールバック関数 XALLBACK_IMPLEMENT_SFXUDPSOCKET(MyClass, OnReceive, error) { SFXSocketAddress socket; SFXBuffer buffer; UInt32 receive_size; UInt32 buffer_size(4); // エラーが発生したかどうかチェックする if (error == SFERR_NO_ERROR) { buffer.SetSize(buffer_size); receive_size = buffer_size; // データを受信する error = _socket.Receive(&socket, buffer.GetBuffer(), &receive_size); switch (error) { case SFERR_NO_ERROR: // 指定したサイズのデータが読み込まれたかチェックする // Receive 関数は指定したサイズのデータを一度に読み込めないことがある // その場合、ここでは簡易化のためエラーとしている if (receive_size == buffer_size) { // 読み込んだデータを表示する buffer.SetSize(buffer_size + 1); buffer[buffer_size - 1] = '\0'; TRACE(":%s", SFXAnsiString(buffer).GetCString()); // ソケットを閉じる _socket.Close(); } else { TRACE("...receive failed..."); } break; case AEE_NET_WOULDBLOCK: // データ受信がブロックされたとき // Receive をスケジュールする: OnReceive コールバック関数を登録する // ※ OnReceive コールバック関数は Receive 可能になれば BREW AEE により呼び出される _socket.ScheduleReceive(XALLBACK_INTERNAL(OnReceive)); break; } } return; }
コンストラクタ/デストラクタ |
---|
SFXUDPSocket( Void ) SFXUDPSocket クラスのコンストラクタです。
|
~SFXUDPSocket( Void ) SFXUDPSocket クラスのデストラクタです。
|
パブリック関数 | |
---|---|
SFCError |
AsSFBAStream(
SFBAStreamSmpPtr result
) 【現在、この関数は使えません。】
|
SFCError |
AsSFBSource(
SFBSourceSmpPtr result
) 【現在、この関数は使えません。】
|
SFCError |
Bind(
SFXSocketAddressConstRef address
) Bind (ソケットに端末のローカル IP アドレスとポート番号を関連付ける操作)を行います。
|
Void |
Cancel( Void ) ソケット通信における各種操作をキャンセルします。
|
Void |
Close( Void ) ソケットを閉じます。
|
SFCError |
GetLocalAddress(
SFXSocketAddressPtr result
) ローカル IP アドレスとポート番号を取得します。
|
SFBNetMgrSmpConstRef |
GetSFBNetMgr( Void ) 内部で管理する SFBNetMgr インスタンスを取得します。
|
SFBSocketSmpConstRef |
GetSFBSocket( Void ) 内部で管理する SFBSocket インスタンスを取得します。
|
SFCError |
GetStreamReader(
UInt32 size
, SFXStreamReaderPtr result
) 【現在、この関数は使えません。】
|
SFCError |
GetStreamReader(
SFXStreamReaderPtr result
) 【現在、この関数は使えません。】
|
SFCError |
GetStreamWriter(
UInt32 size
, SFXStreamWriterPtr result
) 【現在、この関数は使えません。】
|
SFCError |
GetStreamWriter(
SFXStreamWriterPtr result
) 【現在、この関数は使えません。】
|
SFCError |
Open(
SInt32 linger = -1
) ソケットを開きます。
|
SFCError |
Read(
VoidPtr buffer
, UInt32Ptr size
) 【現在、この関数は使えません。】
|
SFCError |
Receive(
SFXSocketAddressPtr address
, VoidPtr buffer
, UInt32Ptr size
, UInt16 option = 0x0000
) Receive(ストリームを使用しないソケットからのデータ受信)を行います。
|
SFCError |
ScheduleBind(
CallbackSPP spp
, VoidPtr reference
) Bind(ソケットに端末のローカル IP アドレスとポート番号を関連付ける操作)をスケジュールします。
|
SFCError |
ScheduleRead(
CallbackSPP spp
, VoidPtr reference
) 【現在、この関数は使えません。】
|
SFCError |
ScheduleReceive(
CallbackSPP spp
, VoidPtr reference
) Receive(ストリームを使用しないソケットからのデータ受信)をスケジュールします。
|
SFCError |
ScheduleSend(
CallbackSPP spp
, VoidPtr reference
) Send(ストリームを使用しないソケットへのデータ送信)をスケジュールします。
|
SFCError |
ScheduleWrite(
CallbackSPP spp
, VoidPtr reference
) 【現在、この関数は使えません。】
|
SFCError |
Send(
SFXSocketAddressConstRef address
, VoidConstPtr buffer
, UInt32Ptr size
, UInt16 option = 0x0000
) Send(ストリームを使用しないソケットへのデータ送信)を行います。
|
SFCError |
Write(
VoidConstPtr buffer
, UInt32Ptr size
) 【現在、この関数は使えません。】
|
型 |
---|
CallbackSPP
(SFXStorage から継承)
ストレージクラスで使用するコールバック関数の型です。
|
[ public, explicit ] SFXUDPSocket(Void);
このコンストラクタは、何も行いません。
[ public, virtual ] ~SFXUDPSocket(Void);
[ public, virtual, const ] SFCError AsSFBAStream( SFBAStreamSmpPtr result // SFBAStream インスタンスへのポインタ );
SFERR_UNSUPPORTED
【現在、この関数は使えません。】
[ public, virtual, const ] SFCError AsSFBSource( SFBSourceSmpPtr result // SFBSource インスタンスへのポインタ );
SFERR_UNSUPPORTED
【現在、この関数は使えません。】
[ public ] SFCError Bind( SFXSocketAddressConstRef address // 端末のローカル IP アドレスとポート番号: ローカル IP アドレスには SFXInetAddress::LoopbackInetAddress() または SFXInetAddress.AnyInetAddress() のいずれかを指定する );
この関数は、Bind (ソケットに端末のローカル IP アドレスとポート番号を関連付ける操作)を行います。
ローカル IP アドレスは、 携帯端末内部でループバック通信するときは SFXInetAddress::LoopbackInetAddress 関数の戻り値、 外部と通信するときは SFXInetAddress::AnyInetAddress 関数の戻り値を指定します。 BREW SDK の制約により、これら以外の値はサポートされません。
この関数でこのソケットに関連付けられた IP アドレスとポート番号は、 SFXUDPSocket::Send 関数でデータを送信するときの 送信元の IP アドレスとポート番号になります (SFXUDPSocket::Receive 関数が address 引数に受信する、送信元 IP アドレスとポート番号になります)。
この関数の戻り値が AEE_NET_WOULDBLOCK の場合、 SFXUDPSocket::ScheduleBind 関数でコールバック関数を登録し、 コールバック関数の中で再度この関数を呼び出す必要があります。
データ送受信についての注意事項 | |
---|---|
UDP ソケット通信では、 SFXUDPSocket::Receive 関数を使用してデータを受信する前に、 この関数を呼び出してこのソケットを Bind する必要があります 。 SFXUDPSocket::Send 関数を使用してデータを送信する場合は、 この関数によるソケットの Bind は省略できます。 Bind を省略した場合、デフォルトのポート番号がソケットに Bind されます。 |
注意 | |
---|---|
この関数は、 内部で SFBSocket::Bind 関数を呼び出します。 |
前提条件 | |
---|---|
この関数を呼び出す前に、 このソケットは SFXUDPSocket::Open 関数を呼び出して 開いている必要があります 。 |
SFXUDPSocket::Open | SFXUDPSocket::ScheduleBind | SFXInetAddress::LoopbackInetAddress | SFXInetAddress::AnyInetAddress | SFXUDPSocket::Send | SFXUDPSocket::Receive | SFXSocketAddress | SFBSocket::Bind | BREW API ISOCKET_Bind | BREW API AEE_BREW_LOOPBACK | BREW API AEE_INADDR_LOOPBACK | BREW API AEE_INADDR_ANY
[ public, virtual ] Void Cancel(Void);
この関数は、ソケット通信における各種操作をキャンセルします。
具体的には、 キャンセル対象となる操作で登録したコールバックをキャンセルし、 その操作を行う直前の状態(1 つ前の状態)に戻します。
キャンセルの対象となる操作とキャンセル内容は、以下の表の通りです。
表 226. キャンセルの対象となる操作とキャンセル内容
キャンセルの対象となる操作 | キャンセル内容 |
---|---|
SFXUDPSocket::ScheduleBind 関数による Bind のスケジュール | コールバックをキャンセルし、SFXUDPSocket::Open 関数を実行した直後の状態に戻します。 |
SFXUDPSocket::ScheduleReceive 関数による Receive(データ受信)のスケジュール | コールバックをキャンセルし、SFXUDPSocket::ScheduleReceive 関数を実行する直前の状態に戻します。 |
SFXUDPSocket::ScheduleSend 関数による Send(データ送信)のスケジュール | コールバックをキャンセルし、SFXUDPSocket::ScheduleSend 関数を実行する直前の状態に戻します。 |
注意 | |
---|---|
この関数は、SFXUDPSocket::Close 関数から呼び出されます。 |
SFXUDPSocket::Open | SFXUDPSocket::ScheduleBind | SFXUDPSocket::ScheduleReceive | SFXUDPSocket::ScheduleSend | SFXUDPSocket::Close
[ public ] Void Close(Void);
この関数は、このソケットを閉じます(このソケットを終了します)。
具体的には、 SFXUDPSocket::Cancel 関数を呼び出してソケット通信の各種操作をキャンセルし、 内部で管理している SFBNetMgr インスタンスと SFBSocket インスタンスを解放します。
注意 | |
---|---|
登録されていたコールバックはキャンセルされます。 |
注意 | |
---|---|
この関数は、SFXUDPSocket::~SFXUDPSocket デストラクタから呼び出されます。 |
Tip | |
---|---|
サスペンド時は、この関数を呼び出してリソースを解放します。 |
SFXUDPSocket::Open | SFXUDPSocket::Cancel | SFXUDPSocket::~SFXUDPSocket | SFBNetMgr | SFBSocket | BREW API INetMgr | BREW API ISocket
[ public, const ] SFCError GetLocalAddress( SFXSocketAddressPtr result // ローカル IP アドレスとポート番号の格納先へのポインタ );
この関数は、このソケットのローカル IP アドレスとポートを取得します。
常に、SFXUDPSocket::Bind 関数で設定した値が返ります。
Tip | |
---|---|
実際の物理的なローカル IP アドレスは、 SFXInetAddress::LocalInetAddress 関数を呼び出して取得できます。 |
前提条件 | |
---|---|
ローカル IP アドレスとポートを取得するには、 このソケットが SFXUDPSocket::Bind 関数を呼び出してバインドしている必要があります。 |
SFXUDPSocket::Bind | SFXInetAddress::LocalInetAddress | SFXSocketAddress | BREW API ISOCKET_GetLastError
[ public, const ] SFBNetMgrSmpConstRef GetSFBNetMgr(Void);
このソケットが内部で管理する SFBNetMgr インスタンス
この関数は、 このソケットが内部で管理する SFBNetMgr インスタンスを取得します。
[ public, const ] SFBSocketSmpConstRef GetSFBSocket(Void);
このソケットが内部で管理する SFBSocket インスタンス
この関数は、 このソケットが内部で管理する SFBSocket インスタンスを取得します。
[ public, virtual ] SFCError GetStreamReader( UInt32 size // バッファサイズ SFXStreamReaderPtr result // データ受信用ストリームへのポインタ );
[ public, virtual ] SFCError GetStreamReader( SFXStreamReaderPtr result // データ受信用ストリームへのポインタ );
SFERR_UNSUPPORTED
【現在、この関数は使えません。】
[ public, virtual ] SFCError GetStreamWriter( UInt32 size // サイズ SFXStreamWriterPtr result // データ送信用ストリームへのポインタ );
[ public, virtual ] SFCError GetStreamWriter( SFXStreamWriterPtr result // データ送信用ストリームへのポインタ );
SFERR_UNSUPPORTED
【現在、この関数は使えません。】
この関数は、このソケットを開きます(このソケットを初期化します)。
具体的には、 SFXUDPSocket クラスが内部で管理する SFBNetMgr インスタンスを生成し、 BREW API INETMGR_OpenSocket 関数を呼び出して AEE_SOCK_DGRAM タイプのソケット(SFBSocket インスタンス)を生成します。
SFBNetMgr / SFBSocket インスタンスは、 SFXUDPSocket::GetSFBNetMgr / SFXUDPSocket::GetSFBSocket 関数で取得することが可能です。 これらのインスタンスを利用して、詳細な設定が可能です。
リンガー時間(ネットワーク接続の待機時間) | |
---|---|
BREW API INETMGR_SetLinger 関数で設定するリンガー時間(ネットワーク接続の待機時間)は、 この関数の linger 引数で指定できます。 デフォルト値は -1 ですが、このときはリンガー時間は設定されません。 リンガー時間の設定についての詳細は、 BREW API INETMGR_SetLinger 関数を参照してください。 |
Tip | |
---|---|
SFXUDPSocket::Close 関数を呼び出すと、 このソケットは閉じます。 |
SFXUDPSocket::Close | SFXUDPSocket::GetSFBNetMgr | SFXUDPSocket::GetSFBSocket | SFBNetMgr | SFBSocket | BREW API INetMgr | BREW API ISocket | BREW API INETMGR_OpenSocket | BREW API INETMGR_SetLinger
[ public, virtual ] SFCError Read( VoidPtr buffer // データを読み込むバッファ UInt32Ptr size // 呼び出す前: データを読み込むバッファのサイズ。戻り値: 実際に読み込んだデータのサイズ );
SFERR_UNSUPPORTED
【現在、この関数は使えません。】
[ public ] SFCError Receive( SFXSocketAddressPtr address // 送信元の IP アドレスとポート VoidPtr buffer // データを受信するバッファ UInt32Ptr size // 呼び出す前: データを受信するバッファのサイズ。戻り値: 実際に受信したデータのサイズ UInt16 option = 0x0000 // 0 を指定する ( 未使用 ) );
この関数が戻ると、送信元(UDP クライアント)の IP アドレスとポートが格納されています。
データを受信するバッファを指定します。
この関数を呼び出す前に、データを受信するバッファのサイズを指定します。 この関数が戻ると、実際にバッファに受信したデータのサイズが格納されています。
0 を指定します(省略可)。この引数は未使用です。
この関数は、Receive(ストリームを使用しないソケットからのデータ受信)を行います。
※ この関数が AEE_NET_WOULDBLOCK を返す場合、 SFXUDPSocket::ScheduleReceive 関数でコールバック関数を登録し、 コールバック関数の中で再度この関数を呼び出して Receive を行う必要があります。
注意 | |
---|---|
この関数は、 内部で SFBSocket::RecvFrom 関数を呼び出します。 |
前提条件 | |
---|---|
この関数を呼び出す前に、 このソケットは SFXUDPSocket::Bind 関数を呼び出して Bind されていている必要があります 。 |
SFXUDPSocket::ScheduleReceive | SFXUDPSocket::Bind | SFXSocketAddress | SFBSocket::RecvFrom | BREW API ISOCKET_RecvFrom
[ public ] SFCError ScheduleBind( CallbackSPP spp // コールバック関数 VoidPtr reference // コールバック関数に渡すデータ(参照値) );
この関数は、Bind(ソケットに端末のローカル IP アドレスとポート番号を関連付ける操作)をスケジュールします。
具体的には、 SFXUDPSocket::Bind 関数を使用して Bind を行うコールバック関数を登録します。 登録されたコールバック関数は、Bind が可能になると BREW AEE により呼び出されます。
コールバック関数が呼び出されるまでは、「Bind スケジュール中の状態」になります。 コールバック関数が呼び出されると、この関数を呼び出す直前の状態(ソケットが開いている状態)に戻ります。
コールバック関数が呼び出される前に、 SFXUDPSocket::Cancel 関数を呼び出すと、 Bind のスケジュールはキャンセルされ、この関数を呼び出す直前の状態(ソケットが開いている状態)に戻ります。
なお、この関数の戻り値がエラー(SFERR_NO_ERROR 以外の値)の場合は、コールバック関数は呼び出されません。
※ SFXUDPSocket::Bind 関数の戻り値が AEE_NET_WOULDBLOCK である場合、 この関数を使用してコールバック関数を登録し、 再び Bind を試みます。
注意 | |
---|---|
この関数は、 内部で SFBSocket::Writeable 関数を呼び出します。 |
前提条件 | |
---|---|
この関数を呼び出す前に、 このソケットは SFXTCPSocket::Open 関数を呼び出して 開いている必要があります。 既に Bind がスケジュールされている場合、SFERR_INVALID_STATE エラーが返ります。 |
[ public, virtual ] SFCError ScheduleRead( CallbackSPP spp // コールバック関数 VoidPtr reference // コールバック関数に渡すデータ(参照値) );
SFERR_UNSUPPORTED
【現在、この関数は使えません。】
[ public ] SFCError ScheduleReceive( CallbackSPP spp // コールバック関数 VoidPtr reference // コールバック関数に渡すデータ(参照値) );
この関数は、Receive(ストリームを使用しないソケットからのデータ受信)をスケジュールします。
具体的には、 SFXUDPSocket::Receive 関数による Receive を行うコールバック関数を登録します。 登録されたコールバック関数は、Receive が可能になると BREW AEE により呼び出されます。
コールバック関数が呼び出されるまでは、「Receive スケジュール中の状態」になります。 コールバック関数が呼び出されると、この関数を呼び出す直前の状態(ソケットが開いている状態)に戻ります。
コールバック関数が呼び出される前に、 SFXUDPSocket::Cancel 関数を呼び出すと、 Receive のスケジュールはキャンセルされ、この関数を呼び出す直前の状態(ソケットが開いている状態)に戻ります。
なお、この関数の戻り値がエラー(SFERR_NO_ERROR 以外の値)の場合、コールバック関数は呼び出されません。
※ SFXUDPSocket::Receive 関数の戻り値が AEE_NET_WOULDBLOCK である場合、 この関数を使用してコールバック関数を登録し、 再び Receive を試みます。
注意 | |
---|---|
この関数は、 内部で SFBAStream::Readable 関数を呼び出します。 |
前提条件 | |
---|---|
この関数を呼び出す前に、 このソケットは SFXUDPSocket::Bind 関数を呼び出して Bind されていて、Receive をスケジュールされていない必要があります 。 |
SFXUDPSocket::Receive | SFBAStream::Readable | SFXStorage::CallbackSPP | BREW API ISOCKET_Readable
[ public ] SFCError ScheduleSend( CallbackSPP spp // コールバック関数 VoidPtr reference // コールバック関数に渡すデータ(参照値) );
この関数は、Send(ストリームを使用しないソケットへのデータ送信)をスケジュールします。
具体的には、 SFXUDPSocket::Send 関数による Send を行うコールバック関数を登録します。 登録されたコールバック関数は、Send が可能になると BREW AEE により呼び出されます。
コールバック関数が呼び出されるまでは、「Send スケジュール中の状態」になります。 コールバック関数が呼び出されると、この関数を呼び出す直前の状態(ソケットが開いている状態)に戻ります。
コールバック関数が呼び出される前に、 SFXUDPSocket::Cancel 関数を呼び出すと、 Send のスケジュールはキャンセルされ、この関数を呼び出す直前の状態(ソケットが開いている状態)に戻ります。
なお、この関数の戻り値がエラー(SFERR_NO_ERROR 以外の値)の場合、コールバック関数は呼び出されません。
※ SFXUDPSocket::Send 関数の戻り値が AEE_NET_WOULDBLOCK である場合、 この関数を使用してコールバック関数を登録し、 再び Send を試みます。
注意 | |
---|---|
この関数は、 内部で SFBSocket::Writeable 関数を呼び出します。 |
前提条件 | |
---|---|
この関数を呼び出す前に、 このソケットは SFXUDPSocket::Open 関数を呼び出して開いていて、 Send がスケジュールされていない必要があります 。 |
[ public, virtual ] SFCError ScheduleWrite( CallbackSPP spp // コールバック関数 VoidPtr reference // コールバック関数に渡すデータ(参照値) );
SFERR_UNSUPPORTED
【現在、この関数は使えません。】
[ public ] SFCError Send( SFXSocketAddressConstRef address // 送信先の IP アドレスとポート番号 VoidConstPtr buffer // データを送信するバッファ UInt32Ptr size // 呼び出す前: データを送信するバッファのサイズ。戻り値: 実際に送信したデータのサイズ UInt16 option = 0x0000 // 0 を指定する ( 未使用 ) );
この関数を呼び出す前に、送信先(UDP サーバー)の IP アドレスとポート番号を指定します。
データを送信するバッファを指定します。
この関数を呼び出す前に、データを送信するバッファのサイズを指定します。 この関数が戻ると、実際にバッファに送信したデータのサイズが格納されています。
0 を指定します(省略可)。この引数は未使用です。
この関数は、Send(ストリームを使用しないソケットへのデータ送信)を行います。
※ この関数が AEE_NET_WOULDBLOCK を返す場合、 SFXUDPSocket::ScheduleSend 関数でコールバック関数を登録し、 コールバック関数の中で再度この関数を呼び出して Send を行う必要があります。
注意 | |
---|---|
この関数は、 内部で SFBSocket::SendTo 関数を呼び出します。 |
前提条件 | |
---|---|
この関数を呼び出す前に、 このソケットは SFXUDPSocket::Open 関数を呼び出して開いている必要があります 。 |
SFXUDPSocket::ScheduleSend | SFXUDPSocket::Open | SFXSocketAddress | SFBSocket::SendTo | BREW API ISOCKET_SendTo
[ public, virtual ] SFCError Write( VoidConstPtr buffer // データを書き込むバッファ UInt32Ptr size // 呼び出す前: データを書き込むバッファのサイズ。戻り値: 実際に書き込んだデータのサイズ );
SFERR_UNSUPPORTED
【現在、この関数は使えません。】
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |