网络游戏《天下》 管理员手册

MudOS v21c2


     socket_acquire(3)      MudOS (5 Sep 1994)       socket_acquire(3)

     名称:
          socket_acquire() - 接收一个 socket 的所有权(ownership)

     语法:
          #include 

          int socket_acquire( int socket, string read_callback,
                              string write_callback,
                              string close_callback );

          整数 socket_acquire( 整数 socket, 字串 read_callback,
                               字串 write_callback,
                               字串 close_callback );

     用法:
          呼叫 socket_acquire() 是为了要完成开始自 socket_release()
          要转移一个 socket 所有权(和控制权)到一个新物件上的握手程
          序(handshake)。socket_release() 呼叫那个将拥有所有权新物件
          的释放回呼(callback)函式以通知那个物件说它想要传送这个 socket
          的控制权过去。那个将拥有所有权的新物件有责任决定它是否接受
          这个 socket。若它愿意接受的话,则要呼叫 socket_acquire() 以
          完成这个转移。如果不愿的话,则这个回呼函式不需完成握手程序
          只需返回即可。

          在前一种情况下,握手程序完成并且新物件变成那个 socket 的拥
          有者。那些读取、写入和关闭回呼函式参数也将参考这个新物件的
          函式。这些都需要指定以使 MudOS 驱动程式可以知道要呼叫新物件
          内的哪些函式。不同意接受这个 socket 将会使 socket_release()
          传回 EESOCKNOTRLSD 以至於拥有者能进行适当的清除动作。

          socket_acquire() 可以只由释放回呼函式的内部呼叫,并只含有那
          个指定的 socket。

     参照:
          socket_release(3)

     翻译:
          [email protected]       97.Jul.27       (printed 3/16/95)