Socket connect

来自MudWiki

名称

   socket_connect() - 启动一个 socket 连接

语法

   int socket_connect( int s, string address, string read_callback, string write_callback );

描述

   参数 `s` 是一个 socket 连接,`s` 必须是 STREAM 模式 或 MUD 模式. 参数 `address` 是将要连接的 socket 地址,地址格式类似: "127.0.0.1 23"。

   参数 `read_callback` 是 socket 获取数据时驱动程序调用的函数名称,函数原型应该是以下格式:

   void read_callback(int fd, mixed message)

   其中参数 `fd` 是接受数据的 socket 连接,参数 `message` 是接收到的数据。

   参数 `write_callback` 是 socket 准备写入数据时驱动程序调用的函数名称,函数原型应该是以下格式:

   void write_callback(int fd)

   其中参数 `fd` 是将被写入数据的 socket 连接。

返回值

   成功时返回 EESUCCESS ,失败(出错)时返回代表以下意义的负值:

错误

   EEFDRANGE      连接描述符(Descriptor)超出范围
   EEBADF         无效的连接描述符
   EESECURITY     试图违反安全性
   EEMODENOTSUPP  不支持的 Socket 模式
   EEISLISTEN     Socket 正在监听中
   EEISCONN       Socket 已连接
   EEBADADDR      地址格式问题
   EEINTR         中断的系统调用
   EEADDRINUSE    地址已经被占用
   EEALREADY      操作已在进行中
   EECONNREFUSED  连接被拒绝
   EECONNECT      连接问题

参考

   socket_accept(3), socket_close(3), socket_create(3)

翻译

   雪风(i@mud.ren)