Ryan Culpepper <firstname.lastname@example.org>
|(require racket/unix-socket)||package: unix-socket-lib|
(unix-socket-connect socket-path) →
input-port? output-port? socket-path : unix-socket-path?
If v is a path (path-string?), the length of v’s corresponding absolute path must be less than or equal to the platform-specific length (108 bytes on Linux, 104 bytes on BSD and Mac OS X). Example: "/tmp/mysocket".
If v is a bytestring (bytes?), it represents an abstract socket name, supported only on Linux. The first byte of v must be NUL, and its length must be less than or equal to 108 bytes. Such a value refers to a socket in the Linux abstract socket namespace. Example: #"\0mysocket".
Note that NUL bytes are allowed in abstract socket names. For example, #"\0abc" and #"\0abc\0" are both valid—
and different— abstract socket names.
Otherwise, returns #f.
socket-path : unix-socket-path? backlog : exact-nonnegative-integer? = 4
If socket-path refers to a filesystem path, binding the socket creates a file that must be deleted separately from closing the listener.
A unix socket listener acts as a synchronizable event. It is ready when a client connection is ready to be accepted (see unix-socket-accept), and its synchronization result is the listener itself.
Added in version 1.2 of package unix-socket-lib.
For example, the following code would instruct the web server to listen for connections via a unix socket at "/var/server.sock":
(serve #:tcp@ (make-unix-socket-tcp@ "/var/server.sock") #:dispatch a-dispatcher)
Added in version 1.3 of package unix-socket-lib.