webcface.client module
- class webcface.client.Client(name: str = '', host: str = '127.0.0.1', port: int = 7530, auto_reconnect: bool = True, auto_sync: float | None = None)[source]
Bases:
Member
サーバーに接続する
詳細は Clientのドキュメント を参照
- Parameters:
name – 名前
host – サーバーのアドレス
port – サーバーのポート
auto_reconnect – (ver2.0〜) 通信が切断された時に自動で再接続する。(デフォルト: True)
auto_sync – (ver2.1〜) 指定した間隔(秒)ごとに別スレッドで自動的に sync() をする (デフォルト: None (syncしない))
- property connected: bool
サーバーに接続できていればtrue
ver2.0からプロパティ
- property logging_handler: Handler
webcfaceに出力するloggingのHandler
(ver2.1〜: Log名は “default”, log().handler と同じ)
- Returns:
logger.addHandler にセットして使う
- property logging_io: TextIOBase
webcfaceとstderrに出力するio
(ver2.1〜: Log名は “default”, log().io と同じ)
- on_member_entry(func: Callable) Callable [source]
Memberが追加されたときのイベント
コールバックの引数にはMemberオブジェクトが渡される。
ver2.0〜: * 呼び出したいコールバック関数をfuncとして
client.on_member_entry(func)
などとすれば関数を登録できる。 * または@client.on_member_entry
をデコレーターとして使う。
- property server_hostname: str
サーバーのホスト名 (ver2.0〜)
- property server_name: str
サーバーの識別情報
- Returns:
通常は”webcface”が返る
- property server_version: str
サーバーのバージョン
- sync(timeout: float | None = 0, auto_start: bool = True) None [source]
送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する
実際に送信をするのは別スレッドであり、この関数はブロックしない。
サーバーに接続していない場合、start()を呼び出す。
ver2.0〜: 受信したデータがあれば各種コールバックをこのスレッドで呼び出し、
それがすべて完了するまでこの関数はブロックされる。 * ver2.0〜: timeoutが正の場合、データを受信してもしなくても timeout 経過するまでは繰り返しsync()を再試行する。 timeout=0 または負の値なら再試行せず即座にreturnする。 (デフォルト、ver1.1までのsync()と同じ) * timeout がNoneの場合、close()するまで無制限に待機する。 * autoReconnectがfalseでサーバーに接続できてない場合はreturnする。 (deadlock回避)
- Parameters:
timeout – (ver2.0〜) sync()を再試行するタイムアウト (秒単位の実数、またはNone)
auto_start – (ver2.1〜)