各种函数创建各种端口。
- 文件:函数open-out-file打开一个写文件,函数open-input-file打开一个都文件。调用完毕以后,使用close-output-port,close-input-file来关闭。
如果文件存在,open-out-file会默认产生一个异常。使用可选#:exists 'truncate和#:exists 'update来重写或者更新一个文件。
一般情况下,racket程序员使用call-with-output-file来打开文件。它传入一个函数,并在函数返回以后自动关闭文件。 - 字符串:open-out-string创建一个端口累积数据到字符串,get-output-string提取累积的字符串。open-input-string创建一个端口来读取字符串。
- tcp 连接:tcp-connect函数创建了一个输入和输入端口,作为tcp连接的客户端。tcp-listen函数创建了一个服务器,通过tcp-accept接受连接。
- 进程管道:函数subprocess在系统上运行一个新的进程,返回子进程的stdin,stdout,和stderr。
- 内部管道:make-pipe函数烦乱两个一个通道的两个端口。这种通道是racket的内部通道,与系统级别的通道没有关系。