Instance Method インスタンスメソッド

registerPort:name:nameServerPortNumber:

Registers a given port as a network service with the specified name in the local domain. 与えられたポートをネットワークサービスとしてこの指定された名前でローカルドメインにおいて登録します。

Declaration 宣言

- (BOOL)registerPort:(NSPort *)port 
                name:(NSString *)name 
nameServerPortNumber:(uint16_t)portNumber;

Parameters パラメータ

port

The port to make available. 利用可能にするポート。

portName

The name for the port. ポートに対する名前。

portNumber

The portNumber parameter is ignored. portNumberパラメータは無視されます。

Return Value 戻り値

YES if successful, NO otherwise. 成功するならばYES、そうでないならばNO

Discussion 議論

If your application has already registered a port under the name portName, this method replaces it with port. あなたのアプリケーションが既にあるポートを名前portNameのもと登録しているならば、このメソッドはそれをportで置き換えます。

If the local domain already has a port named portName registered, this method could return YES before the name collision is detected. To detect a potential name collision, you can invoke portForName:host: with a host argument of @"*" to test if portName is already taken. This, however, leaves a race condition wherein another process can register a port under portName after portForName:host: returns but before you register port. If this is an unacceptable risk for your application, you can also invoke portForName:host: some finite time after registering your port to test if you get the same port back. ローカルドメインが既にportNameという名前のポートを登録しているならば、このメソッドはYESを返すことがありえます、名前衝突が検出される前に。潜在的な名前衝突を検出するには、あなたはportForName:host:host引数@"*"で発動して、portNameが既に取られるかどうかテストできます。これは、しかしながら、別のプロセスがポートをportNameのもとportForName:host:の後にしかしあなたがportを登録する前に登録できる点で競合状態を残します。これがあなたのアプリケーションにとって許容できないリスクであるならば、あなたはまたportForName:host:をあなたのポートを登録した後にいくらか有限回発動して、あなたが同じポートを取り戻すかテストできます。

See Also 参照

Registering and Removing Ports ポートの登録と除去

Related Documentation 関連文書