web_accept

リクエストを 1 件受け取る

web_accept method, path, body, is_ws, timeout_ms

method     : メソッド文字列を受け取る変数 ("GET" 等)
path       : リクエストパスを受け取る変数
body       : リクエスト body を受け取る変数 (最大 16KB)
is_ws      : WebSocket upgrade の場合 1 が入る変数
timeout_ms : タイムアウト (ミリ秒、0 指定で 100ms)

(プラグイン / モジュール : hspwebsrv.dll)

解説

次のリクエストを待ち受けます。戻り値は 1 (リクエスト受信) / 0 (timeout) /
-1 (エラー)。is_ws = 1 の場合は WebSocket アップグレード要求です。
通常は stat を見てループを回します。

例:
  repeat
      web_accept method, path, body, is_ws, 100
      if stat = 1 : web_respond 200, "text/html", "<h1>Hello</h1>"
      stick k, 128 : if k & 128 : break
  loop

関連項目

web_respondHTTP レスポンスを返す(hspwebsrv.dll)
web_accept_wsWebSocket アップグレードを受諾(hspwebsrv.dll)

サンプル逆引き (2)

sample_webserver.hsp
sample_websocket.hsp

情報

プラグイン / モジュールhspwebsrv.dll
バージョン1.0
作成日2026-04-15
著作者IronHSP / iron_webserver
URLhttps://github.com/inovia/IronHSP
備考iron_webserver.hsp は hspwebsrv.dll (Windows HTTP Server API v2 =
HTTP.sys 経由) をラップした HSP 向け本格 HTTP サーバモジュールです。
C# の HttpListener と同じ backend を使っているため、HTTP / HTTPS /
WebSocket を単一 DLL で扱えます。

#include "iron_webserver.hsp"

特徴:
HTTP.sys (kernel-mode) backend による高性能処理
http://localhost:port/ は admin 権限不要
http://+:port/ などは admin 必要 (netsh http add urlacl)
HTTPS は事前に netsh http add sslcert で証明書バインドが必要
WebSocket の handshake + フレーム parser も内包
タイプ拡張命令
グループiron_webserver ― HTTP
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\iron_webserver.hs