Overview
概要
The NetService
class represents a network service, either one your application publishes or is a client of. This class and the NetServiceBrowser
class use multicast DNS to convey information about network services to and from your application. The API of NetService
provides a convenient way to publish the services offered by your application and to resolve the socket address for a service.
NetService
クラスはネットワークサービスを表します、あなたのアプリケーションが出版するまたはクライアントのどちらでも。このクラスとNetServiceBrowser
クラスは、マルチキャストDNSを使って、ネットワークサービスについての情報をあなたのアプリケーションにそしてそれから伝達します。NetService
のAPIは、あなたのアプリケーションによって提示されるサービスを出版する便利な方法を提供します、そしてサービスに対するソケットアドレスを解決します。
The types of services you access using NetService
are the same types that you access directly using BSD sockets. HTTP and FTP are two services commonly provided by systems. (For a list of common services and the ports used by those services, see the file /etc/services
.) Applications can also define their own custom services to provide specific data to clients.
あなたがNetService
を使ってアクセスするサービスの型は、あなたがBSDソケットを使って直接にアクセスするのと同じ型です。HTTPおよびFTPは、システムによって一般的に提供される2つのサービスです。(一番的なサービスとそれらサービスによって使われるポートの一覧として、ファイル/etc/services
を見てください。)アプリケーションはまた、それら独自のあつらえのサービスを定義することで特定のデータをクライアントに提供します。
You can use the NetService
class as either a publisher of a service or a client of a service. If your application publishes a service, your code must acquire a port and prepare a socket to communicate with clients. Once your socket is ready, you use the NetService
class to notify clients that your service is ready. If your application is the client of a network service, you can either create an NetService
object directly (if you know the exact host and port information) or use an NetServiceBrowser
object to browse for services.
あなたはNetService
クラスをサービスの出版側またはサービスのクライアントのどちらとしても使えます。あなたのアプリケーションがサービスを出版するならば、あなたのコードはポートを取得してクライアントと通信しなければなりません。一旦あなたのソケットが準備できたならば、あなたはNetService
クラスを使ってクライアントにあなたのサービスが準備できたことを通知します。あなたのアプリケーションがネットワークサービスのクライアントならば、あなたはNetService
オブジェクトを直接に作成すること(あなたが正確なホストおよびポート情報を知るならば)またはNetServiceBrowser
オブジェクトを使ってサービスをブラウズすることのどちらかが可能です。
To publish a service, initialize your NetService
object with the service name, domain, type, and port information. All of this information must be valid for the socket created by your application. Once initialized, call the publish()
method to broadcast your service information to the network.
サービスを出版するには、あなたのNetService
オブジェクトをサービス名、ドメイン、型、そしてポート情報で初期化してください。この情報の全ては、あなたのアプリケーションによって作成されるソケットに対して有効でなければなりません。一旦初期化されるならば、publish()
メソッドを呼び出して、あなたのサービス情報をネットワークに放送してください。
When connecting to a service, use the NetServiceBrowser
class to locate the service on the network and obtain the corresponding NetService
object. Once you have the object, call the resolve(withTimeout:)
method to verify that the service is available and ready for your application. If it is, the addresses
property provides the socket information you can use to connect to the service.
サービスに接続する場合、NetServiceBrowser
クラスを使ってそのサービスをネットワーク上で位置決めしてください、そして対応するNetService
オブジェクトを獲得してください。一旦あなたがそのオブジェクトを持つならば、resolve(withTimeout:)
メソッドを呼び出して、そのサービスが利用可能であることそしてあなたのアプリケーションに対して準備できていることを検証してください。もしそうなら、addresses
プロパティは、あなたがそのサービスに接続するために使用できるソケット情報を提供します。
The methods of NetService
operate asynchronously so your application is not impacted by the speed of the network. All information about a service is returned to your application through the NetService
object’s delegate. You must provide a delegate object to respond to messages and to handle errors appropriately.
NetService
のメソッドは非同期に作動します、それであなたのアプリケーションはネットワークスピードによって影響されません。サービスについてのすべての情報は、あなたのアプリケーションにNetService
オブジェクトの持つ委任先を通して返されます。あなたは、委任先オブジェクトを提供することで、メッセージに応答することそしてエラーを適切に処理することが必要です。