名称：
	socket_create - 建立一个 efun socket。
语法：
	int socket_create( int mode, string | function read_callback );
	int socket_create( int mode, string | function read_callback, 
		string | function close_callback );

	整数 socket_create( 整数 模式, 字串 或 函式指标 读取回呼 );
	整数 socket_create( 整数 模式, 字串 或 函式指标 读取回呼,
		字串 或 函式指标 关闭回呼 );
用法：
	本函式仅在编译时定义 PACKAGE_SOCKETS 才有效。

	socket_create() 建立一个 efun socket。mode 决定了要建立哪种型态的 
	socket。目前支援的 socket 型态有：

	MUD		以 TCP 协定传送 LPC 型态资料。
	STREAM		以 TCP 协定传送原始 (raw) 资料。
	DATAGRAM	以 UDP 协定传送资料。

	read_callback 这个参数是给驱动程式在 socket 由对方接到资料时呼叫用
	的函式名称。这个读取回呼 (callback) 函式应该是如下格式：

	void read_callback( int fd, mixed message )

	这里的 fd 是接收资料的 socket，而 message 是接收到的资料。

	close_callback 这个参数是给驱动程式在 socket 不正常关闭时呼叫的函式
	名称，不是 socket_close() 的呼叫结果。这个关闭回呼函式应该是如下格
	式：

	void close_callback( int fd )

	这里的 fd 是已被关闭的 socket。
	注意：close_callback 不用于 DATAGRAM 型态的 socket 上。

	socket_create() 传回：

	成功时是一个非负的描述值 (descriptor)。

	失败时是一个下列意义的负值。

	错误值 - 定义在“socket_err.h”

	EEMODENOTSUPP	不支援此 socket 型态。
	EESOCKET	建立 socket 时的问题。
	EESETSOCKOPT	setsockopt 的问题。
	EENONBLOCK	设定非停滞 (non-blocking) 模式的问题。
	EENOSOCKS	没有多余的 efun sockets。
	EESECURITY	企图违反安全。
参考：
	socket_accept, socket_bind, socket_close, socket_connect, 
	socket_listen, socket_write
作者：
	Tim Hollebeek  Beek@ZorkMUD, Lima Bean, IdeaExchange, and elsewhere
原译：
	Kenny@Broken.History	97.Jul.26
校订：
	spock@muds.net		2000.Aug.27.	v22 版
