Zelphir Kaltstahl 2214aa59be add some description 5 年 前
..
networking-lib aa17422275 implemented "protocols" and json echo server/client 6 年 前
dependencies.md 24d4ff51d1 made server usable from outside the module 6 年 前
official-guile-guide-examples.scm 839f0cd88a remove not needed load path specifications 5 年 前
readme.org 2214aa59be add some description 5 年 前
run-client.scm 839f0cd88a remove not needed load path specifications 5 年 前
run-server.scm 839f0cd88a remove not needed load path specifications 5 年 前
tcp-client.scm 839f0cd88a remove not needed load path specifications 5 年 前
tcp-server.scm 839f0cd88a remove not needed load path specifications 5 年 前

readme.org

About

This example presents a way to use Guile to build a naive TCP client and TCP server.

Documentation

One idea in this example implementation is, that you can define a protocol for the server and for the client separately, by specifying ...

  1. port reader
  2. message handler
  3. end of file handler

... for each end.

The example defines a JSON display protocol, which simply displays any JSON received from the server and a JSON echo protocol for the server, which simply sends back whatever the server receives.

For a real application one can imagine all kind of things to be invoked from the handlers, which constitute a protocol.

This example does not deal with any complex logic implemented in the handlers.