Simple API for communicating async socket clients and servers.
FSock implements an API for creating async socket clients and servers that can exchange raw bytes or binary messages. Imagined as a lightweight managed async zeromq replacement focusing on TCP sockets. Strives to be portable to Mono and usable from both F# and C#.
Status: experimental.
Good for: portable inter-process communication on a network you control, working with sockets without incurring large overheads such as supsended heavy-weight CLR threads.
Not (yet) good for: public-facing services exposed to a hostile environment, such as web servers. For that need to implement resource and time limits, as well as more testing/validation of how Socket class is being used.
- NuGet package: FSock
- API:
- FSock.fsi - main API
- Sockets.fsi - socket details
- Definitions.fsi - channels, futures, etc
See FSock.fsx for an example.