▼ |  | Net: PLT Networking Libraries

1 | URLs and HTTP
2 | URI Codec: Encoding and Decoding URIs
3 | FTP: Client Downloading
4 | Send URL: Opening a Web Browser
5 | SMTP: Sending E-Mail
6 | sendmail: Sending E-Mail
7 | Headers: Parsing and Constructing
8 | IMAP: Reading Mail
9 | POP3: Reading Mail
10 | MIME: Decoding Internet Data
11 | Base 64: Encoding and Decoding
12 | Quoted-Printable: Encoding and Decoding
13 | DNS: Domain Name Service Queries
14 | NNTP: Newsgroup Protocol
15 | TCP: Unit and Signature
16 | TCP Redirect: tcp^ via Channels
17 | SSL Unit: tcp^ via SSL
18 | CGI Scripts
19 | Cookie: HTTP Client Storage
| Bibliography
| Index

► | 15 | TCP: Unit and Signature

15.1 | TCP Signature
15.2 | TCP Unit

On this page:

15.1`` TCP Signature
tcp^
tcp-listen
tcp-connect
tcp-connect/ enable-break
tcp-accept
tcp-accept/ enable-break
tcp-accept-ready?
tcp-close
tcp-listener?
tcp-abandon-port
tcp-addresses
15.2`` TCP Unit
tcp@

Version: 4.1.4
top← prev up next →

### 15`` TCP: Unit and Signature

The net/tcp-sig and net/tcp-unit libraries define a tcp^ signature and tcp@ implementation, where the implementation uses scheme/tcp.

Some units in the "net" collection import tcp^, so that they can be used with transports other than plain TCP. For example, url@ imports tcp^.

See also tcp-redirect and make-ssl-tcp@.

#### 15.1`` TCP Signature

(require net/tcp-sig)

tcp^ : signature

> (tcp-listen |  | port-no |  |  |  |
> | [ | max-allow-wait |  |  |  |
> |  | reuse? |  |  |  |
> |  | hostname]) |  | → |  | tcp-listener?

> port-no

> :

> (and/c exact-nonnegative-integer?
> (integer-in 1 65535))

> max-allow-wait : exact-nonnegative-integer? = 4
> reuse? : any/c = #f
> hostname : (or/c string? false/c) = #f

> Like tcp-listen from scheme/tcp.

> (tcp-connect |  | hostname |  |  |  |
> |  | port-no |  |  |  |
> | [ | local-hostname |  |  |  |

> local-port-no])

> →

> input-port? |  | output-port?

> hostname : string?

> port-no

> :

> (and/c exact-nonnegative-integer?
> (integer-in 1 65535))

> local-hostname : (or/c string? false/c) = #f

> local-port-no

> :

> (or/c (and/c exact-nonnegative-integer?
> (integer-in 1 65535))
> false/c)

> =

> #f

> Like tcp-connect from scheme/tcp.

> (tcp-connect/enable-break |  | hostname |
> |  | port-no |
> | [ | local-hostname] |
> |  | local-port-no) |

> →

> input-port? |  | output-port?

> hostname : string?

> port-no

> :

> (and/c exact-nonnegative-integer?
> (integer-in 1 65535))

> local-hostname : (or/c string? false/c) = #f

> local-port-no

> :

> (or/c (and/c exact-nonnegative-integer?
> (integer-in 1 65535))
> false/c)

> Like tcp-connect/enable-break from scheme/tcp.

> (tcp-accept listener)

> →

> input-port? |  | output-port?

> listener : tcp-listener?

> Like tcp-accept from scheme/tcp.

> (tcp-accept/enable-break listener)

> →

> input-port? |  | output-port?

> listener : tcp-listener?

> Like tcp-accept/enable-break from scheme/tcp.

> (tcp-accept-ready? listener) → boolean?
> listener : tcp-listener?

> Like tcp-accept-ready? from scheme/tcp.

> (tcp-close listener) → void?
> listener : tcp-listener?

> Like tcp-close from scheme/tcp.

> (tcp-listener? v) → boolean?
> v : any/c

> Like tcp-listener? from scheme/tcp.

> (tcp-abandon-port tcp-port) → void?
> tcp-port : port?

> Like tcp-abandon-port from scheme/tcp.

> (tcp-addresses tcp-port [port-numbers?])

> →

> (or/c (values string? string?)
> (values string? (integer-in 1 65535)
> string? (integer-in 1 65535)))

> tcp-port : port?
> port-numbers? : any/c = #f

> Like tcp-addresses from scheme/tcp.

#### 15.2`` TCP Unit

(require net/tcp-unit)

tcp@ : unit?

Imports nothing and exports tcp^, implemented using scheme/tcp.

top← prev up next →