Building a Simple Server in C for the Commodore Amiga
Topaz Rabbit walks through building a simple bsdsocket.library based server for the Commodore Amiga using the C programming language. You’ll learn about development environment setup, waiting for socket connections & other signals, and reading and printing client data to the console.
References
Code
- Server code on Hackerbun Gitea (https://code.hackerbun.dev/TheIndustriousRabbit/amiga-bsdsocket-coding/src/branch/main/server_in_c)
- Grab the code and follow along!
Documentation
- AROS bsdsocket.library notes (https://en.wikibooks.org/wiki/Aros/Developer/Docs/Libraries/BSDsocket#Usage)
- Covers a lot of the Amiga-specific basics
- NetBSD socket programming (https://wiki.netbsd.org/examples/socket_programming/)
- Guide to using sockets on a BSD-based system
- Amiga bsdsocket.library autodocs (https://wiki.amigaos.net/amiga/autodocs/bsdsocket.doc.txt)
- Amiga function names and usage details
- SO_REUSEADDR example (https://stackoverflow.com/questions/24194961/how-do-i-use-setsockoptso-reuseaddr)
- Note that you don’t get SO_REUSEPORT or SO_LINGER on the Amiga!
Setup
- AmiTCP 4.3 SDK (http://aminet.net/package/comm/tcp/AmiTCP-SDK-4.3)
- You’ll need this (or an equivalent) to compile this code
- Setting up the SDK (https://eab.abime.net/showthread.php?p=1294161)
- Forum post showing SAS/C and AmiTCP SDK setup
Credits
Music
- “Industrious Ferret” by Kevin MacLeod