KonoeObjectServerSocket
クラス概要
オブジェクトの入力及び出力を行うTCPサーバソケットを実現します。
継承関係
KonoeObjectStreamBaseと、
KonoeFDClientを継承します。
メンバー関数
KonoeObjectServerSocket( KInt port,
KonoeFDSet * fdset = 0 )
- コンストラクタです。サーバソケットのポート番号を指定します。必要ならば
ファイル記述子セットを指定します。省略するとコンストラクタ内部でつくられます。
~KonoeObjectServerSocket( )
- デストラクタです。
KInt waitConnection( )
- クライアントからの接続を待ちます。接続されるとオブジェクトソケットを
一つ割り当てます。
KonoeObjectSocket * wait( KInt milisec )
- ソケットがデータを受信するのを待ちます。
サーバポートに接続された場合は新しくクライアントを割り当てます。
この場合戻り値は0になります。
クライアントから受信した場合はそのオブジェクトソケットを返します。
KInt closeConnection( )
- すべてのクライアントの接続を閉鎖します。
KInt close( KonoeObjectSocket * socket )
- 特定のクライアントソケットの接続を閉鎖します。
KInt send( KChar * buffer, KInt nbytes )
- クライアントに生のバイト列を出力します。本来このクラスはオブジェクトを
入出力するためのものですが、入力をオブジェクト、出力を文字列としたいなどと
いうばあいには意味があるかもしれません。
KInt put( KonoeStreamableObject * object )
- ソケットにオブジェクトを出力します。
KInt receive( KChar * buffer, KInt buffersize )
- クライアントから生のバイト列を受け取ります。
KonoeStreamableObject * get( )
- クライアントからオブジェクトを受け取ります。
KonoeObjectSocket * getConnection( const KChar * hostname )
- hostnameで指定されたホストからの接続があればそれを返します。なければ0が
返ります。
KonoeObjectSocket * getLastReceived( )
- 最後に受信したソケットを返します。
void setSendMode( KInt mode )
- 送信モードを設定します。最後に受信したクライアントに送る(SEND_TO_LAST)、
最後に受信したクライアント以外に送る(SEND_TO_OTHERS)、
すべてのクライアントに送る(SEND_TO_ALL)というモードがあります。
KInt getSendMode( )
- 送信モードの値を返します。
KInt getError( )
- 最後に行われた送受信の状態を返します。errnoが返ります。
KInt getFD( )
- サーバポートに割り当てられたファイル記述子を返します。
KonoeObjectSocket ** getClients( )
- 接続されたクライアントの配列を返します。
KonoeObjectSocket * processReceiveAction( KonoeFDClient * client )
- 受信動作を完了させるための関数です。ファイル記述子セットが他で扱われた
とき、KonoeFDClientが返されますが、そのようなばあいにオブジェクト受信
処理を行います。
KInt receiveFromConnection( KonoeObjectSocket * socket, KChar * buffer, KInt buffersize )
- オブジェクトソケットから生のバイト列を受信します。
KonoeStreamableObject * getFromConnection( KonoeObjectSocket * socket )
- 指定したオブジェクトソケットからオブジェクトを受け取ります。
オブジェクトを受け取られなかった場合ソケットを閉鎖する実装になって
います。
メンバーデータ
定数
[File = KonoeObjectServerSocket.html] last modified = 27-11-2000
KONOEコラボレーション
konoe-req@konoe.kek.jp