Provided by: manpages-zh_1.5.1-2_all bug

NAME

       socket - 打开一个 TCP 网络连接

 SYNOPSIS
       socket ?options? host port

       socket -server command ?options? port
_________________________________________________________________

 DESCRIPTION
       这个命令打开一个网络套接口并返回将来可被     readputsflush
       命令调用使用一个通道标识符。目前只支持            TCP            网络-
       议;将来的发行可能包括对补充幸榈闹С帧R览涤谑欠裰付         -server
       开关,可以使用 socket 命令来打开客户端或服务器端连接。

 CLIENT SOCKETS
       如果未指定                                                      -server
       选项,则打开一个的连接的客户端并且命令返回一个可被用于读写的通道标识符。
       Porthost
       指定一个要连接到的端口;必须有一个服务器接受在这个端口上的连接。Port
       是一个整数端口号而  host   要么是一个域名式样的名字如   www.sunlabs.com
       要么是一个数值       IP      地址如127.0.0.1。      使用      localhost
       来参照在其上调用这个命令的那个主机。

       在 host 之前可以提供下列选项指定关于连接的补充信息:

       -myaddr addr
              Addr    给出用于连接的客户端网络接口的域名式样的名字或数值    IP
              地址。如果客户端机器有多个网络接口的话这个选项会有用处。如果省略了这个选项,则由系统软件选择客户端接口。

       -myport port
              Port
              指定用于连接的客户端的一个整数端口号。如果省略了这个选项,则由系统软件随机的选择客户端口号。

       -async -async
              选项将导致客户端套接口被异步的连接。这意味着这个套接口将被立即建立,但在到socket的调用返回的时候可能仍未连接到服务器上。在连接尝试成功或失败之前调用了
              gets                          或                           flush
              的时候,如果套接口在阻塞模式下,则将等待直到连接被完成或失败。如果套接口在非阻塞模式之下,而在连接尝试成功或失败之前调用了
              gets 或 flush ,则操作立即返回,并且在套接口上的  fblocked  返回
              1。

 SERVER SOCKETS
       如果指定了          -server         选项,则新套接口将是用         port
       给出的端口的一个服务器。Tcl
       将自动接受到这个给定端口的连接。对于每个连接                        Tcl
       将建立可以用来同客户通信的一个新通道。Tcl       接着调用        command
       并加上三个补充参数:
       新通道的名字,用网络地址表示的客户的主机地址,和客户的端口号。

       在 host 之前可以提供下列选项指定关于连接的补充信息:

       -myaddr addr
               Addr  给出用于连接的服务器端网络接口的域名式样的名字或数值   IP
              地址。如果服务器机器有多个网络接口的话这个选项会有用处。如果省略了这个选项,则服务器套接口被绑定到特殊地址
              INADDR_ANY 上,这样它可以接受来自任何接口的连接。

       服务器通道不能被用来输入或输出;它们唯一的用处是接受新的客户连接。为每个到来的客户连接建立的通道是为输入和输出而打开的。关闭服务器通道将关断服务器,这样就不能接受新连接了,不影响现存的连接。

       服务器套接口依赖于                                                  Tcl
       事件机制来找出何时打开了新连接。如果应用未进入事件鸦罚缤ü饔
       vwait 命令或调用 C 过程 Tcl_DoOneEvent,则不接受连接。

 CONFIGURATION OPTIONS
       可以使用 fconfigure 命令来查询套接口通道的许多只读配置选项:             |

       -error                                                                  ||
              这个选项得到给定套接口的当前错误状态。在你需要确定一个异步连接操作是否成功的时候这个选项会有用处。如果有一个错误,则返回错误消息。如果没有错误,则返回空串。|

       -sockname
              这个选项返回三个元素的一个列表,分别是这个套接口的地址、主机名和端口号。如果不能计算出这个主机名,第二个元素等同与列表的第一个元素地址。

       -peername
              服务器套接口不支持这个选项。对于客户和接受的套接口,这个选项返回三个元素的一个列表;它们是地址、主机名字和对等的套接口所连接或绑定到端口。如果不能计算出这个主机名,第二个元素等同与列表的第一个元素地址。

 SEE ALSO
       flush(n), open(n), read(n)

 KEYWORDS
       bind,  channel, connection, domain name, host, network address, socket,
       tcp

[[2001/11/10

 Linux man:
       http://cmpp.linuxforum.net