1
0
Fork 0
forked from fun/fun
fun/examples/blocking/tcp_echo_server_class.fun

32 lines
820 B
Standard ML
Executable file

#!/usr/bin/env fun
/*
* This file is part of the Fun programming language.
* https://fun-lang.xyz/
*
* Copyright 2025 Johannes Findeisen <you@hanez.org>
* Licensed under the terms of the Apache-2.0 license.
* https://opensource.org/license/apache-2-0
*
* Added: 2025-10-13
*/
// Echo server using the stdlib TcpServer class.
// Make sure FUN_LIB_DIR points to the ./lib directory containing io/socket.fun.
// Example:
// FUN_LIB_DIR="$(pwd)/lib" ./build/fun ./examples/tcp_echo_server_class.fun
include <io/socket.fun>
print("Starting echo server at localhost:12345")
server = TcpServer(12345, 16)
if (server.listen() <= 0)
print("Listen failed!")
exit(1)
else
print("Echo server (class) listening on port 12345")
// Serve clients forever, echoing back what they send.
server.serve_forever(4096)