
1netライブラリ
ネットワーク通信を行うライブラリ「net.kn」を解説します。
名前 | 説明 |
---|---|
net@Http | HTTP通信でデータを受信するクラス |
net@Http.fin | データの受信を終了するメソッド |
net@Http.get | データを受信するメソッド |
net@Tcp | TCP通信を行うクラス |
net@Tcp.connecting | 接続状態かどうかを取得するメソッド |
net@Tcp.fin | 接続を切断するメソッド |
net@Tcp.receive | データを受信するメソッド |
net@Tcp.send | データを送信するメソッド |
net@TcpServer | TCPサーバの処理を行うクラス |
net@TcpServer.fin | 接続の待ち受けを終了するメソッド |
net@TcpServer.get | TCPクライアントとの接続を取得するメソッド |
net@makeHttp | HTTP通信を開始する関数 |
net@makeTcpClient | TCPクライアントを作成する関数 |
net@makeTcpServer | TCPサーバを作成する関数 |
2net@Http
「net@Http」は、HTTP通信でデータを受信するクラスです。
2.1net@Http.fin
「net@Http.fin」は、データの受信を終了するメソッドです。
fin() |
既に受信を終了しているとき、このメソッドは何もしません。
受信はnet@Httpクラスのインスタンスが解放されるときに自動で終了します。 このメソッドは、終了するタイミングを明示的に制御したいときにお使いください。
2.2net@Http.get
「net@Http.get」は、データを受信するメソッドです。
func get(): []char |
|
戻り値 | 受信したデータ。 受信が完了していない場合はnullが返る |
3net@Tcp
「net@Tcp」は、TCP通信を行うクラスです。
3.1net@Tcp.connecting
「net@Tcp.connecting」は、接続状態かどうかを取得するメソッドです。
func connecting(): bool |
|
戻り値 | 接続した状態ならtrue、切断されたならfalse |
3.2net@Tcp.fin
「net@Tcp.fin」は、接続を切断するメソッドです。
func fin() |
既に切断されているとき、このメソッドは何もしません。
接続はnet@Tcpクラスのインスタンスが解放されるときに自動で切断されます。 このメソッドは、切断するタイミングを明示的に制御したいときにお使いください。
3.3net@Tcp.receive
「net@Tcp.receive」は、データを受信するメソッドです。
func receive(size: int): []bit8 |
|
size | 受信するデータのサイズ |
戻り値 | 受信したデータ。 通信が切断されているときや、size分のデータが受信できなかったときはnullが返る |
net@Tcpクラスのインスタンスは内部に1MBのバッファを保持しており、受信可能なデータがあるとこのバッファに溜めていきます。 receiveメソッドは、このバッファにsize分のデータがあれば切り取って返し、なければ何もせずにnullを返します。
このため、1MBを超えるデータを一度に取得することはできません。 1MB以下の単位で分割取得してください。
発生条件 | ビルド | 例外コード (16進数) |
---|---|---|
sizeが0以上1024*1024以下の範囲外 | dbgのみ | E9170006 |
3.4net@Tcp.send
「net@Tcp.send」は、データを送信するメソッドです。
func send(data: []bit8) |
|
data | 送信するデータ。 nullであってはならない |
通信が切断されているときは、このメソッドは何もせずに抜けます。
4net@TcpServer
「net@TcpServer」は、TCPサーバの処理を行うクラスです。
4.1net@TcpServer.fin
「net@TcpServer.fin」は、接続の待ち受けを終了するメソッドです。
func fin() |
既に待ち受けを終了しているとき、このメソッドは何もしません。
待ち受けはnet@TcpServerクラスのインスタンスが解放されるときに自動で終了します。 このメソッドは、終了するタイミングを明示的に制御したいときにお使いください。
4.2net@TcpServer.get
「net@TcpServer.get」は、TCPクライアントとの接続を取得するメソッドです。
func get(): tcp@Tcp |
|
戻り値 | TCPクライアントとの通信を行うクラスのインスタンス。 待ち受け状態になっていないときや、TCPクライアントからの接続がなければnullが返る |
net@TcpServerクラスのインスタンスは待ち受け状態のときに、常にTCPクライアントからの接続要求を監視しています。 接続要求があると直ちに通信を開始し、その情報を記録しつつ、引き続き接続要求の待ち受けを続けます。
getメソッドを呼ぶと、記録したTCPクライアントの情報を1つ切り取って、データが送受信できるインスタンスの形で返します。 記録した情報が1つもなければ何もせずにnullを返します。
5net@makeHttp
「net@makeHttp」は、HTTP通信を開始する関数です。
func makeHttp(url: []char, post: bool, agent: []char): net@Http |
|
url | データを取得するURL |
post | POSTならtrue、GETならfalse |
agent | サーバに送るユーザエージェント。 nullを指定すると空文字が送られる |
戻り値 | データを受信するクラス |
6net@makeTcpClient
「net@makeTcpClient」は、TCPクライアントを作成する関数です。
func makeTcpClient(host: []char, port: int): net@Tcp |
|
host | サーバのホスト名またはIPアドレス |
port | 接続するポート番号 |
戻り値 | TCP通信を行うクラスのインスタンス。 接続に失敗した場合はnullが返る |
発生条件 | ビルド | 例外コード (16進数) |
---|---|---|
portが0以上65535以下の範囲外 | dbgのみ | E9170006 |
7net@makeTcpServer
「net@makeTcpServer」は、TCPサーバを作成する関数です。
func makeTcpServer(port: int): net@TcpServer |
|
port | 接続を待ち受けるポート番号 |
戻り値 | TCPサーバ。 設定に失敗した場合はnullが返る |
この関数を呼び出した時点で接続の待ち受けが開始されます。
49152以上のポート番号は動的に決定されることを前提としており、明示的に設定することはできません。
発生条件 | ビルド | 例外コード (16進数) |
---|---|---|
portが0以上49152未満の範囲外 | dbgのみ | E9170006 |
©Kuina-chan