File: osclisten.ml

package info (click to toggle)
ocaml-lo 0.2.0.git20240724.0b43bdf-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 164 kB
  • sloc: ansic: 212; ml: 141; makefile: 3
file content (25 lines) | stat: -rw-r--r-- 581 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
module S = Lo.Server

let handler path data =
  let s = function
    | `Int32 n -> string_of_int n
    | `Float f | `Double f -> Printf.sprintf "%f" f
    | `String s -> s
    | `True -> "True"
    | `False -> "False"
    | _ -> "???"
  in
  let data = Array.to_list data in
  let s = List.map s data in
  let s = String.concat ", " s in
  Printf.printf "Message on %s: %s\n%!" path s

let () =
  let port =
    if Array.length Sys.argv < 2 then 7777 else int_of_string Sys.argv.(1)
  in
  let s = S.create port handler in
  while true do
    Gc.full_major ();
    S.recv s
  done