Top / example / ソケット通信(データ送受信)
/
ソケット通信(データ送受信)

目次

概要

リクエスト送信

/* GETリクエストを送信用バッファに追加 */
sock.pushLine("GET / HTTP/1.0");
sock.pushLine("Host: www.boost.org");
sock.pushLine("Accept: */*");
sock.pushLine("");

/* 送信用バッファの内容を接続先へ書き込み(送信) */
var bytes_transfferd = sock.write();
if (bytes_transfferd > 0) {
    Debug.message("送信しました: " + bytes_transfferd + "byte");
}
if (!sock.writingSucceeded) {
    Debug.message("送信でエラーが発生しました。");
}

レスポンス受信

/* 受信用バッファへHTTPレスポンスを読み取り(受信) */
bytes_transfferd = sock.readUntil("\r\n\r\n");
if (bytes_transfferd > 0) {
    Debug.message("受信しました: " + bytes_transfferd + "byte");
}
if (!sock.readingSucceeded) {
    Debug.message("受信でエラーが発生しました。");
}

/* 受信用バッファから1行ずつ取出 */
while (sock.readingBufferSize) {
    Debug.message(sock.popLine());
}

/* 受信用バッファへ残り(データ部分)を読み取り(受信) */
bytes_transfferd = sock.read();
if (bytes_transfferd > 0) {
    Debug.message("受信しました: " + bytes_transfferd + "byte");
}
if (!sock.readingSucceeded) {
    Debug.message("受信でエラーが発生しました。");
}
if (sock.eof) {
    Debug.message("終端まで受信しました。");
}

/* 受信用バッファから全て取出 */
var html = sock.popNarrowString();