WEB开发网
开发学院软件开发VC ACE中Socket IPC通讯包装类族 阅读

ACE中Socket IPC通讯包装类族

 2010-09-04 20:48:04 来源:WEB开发网   
核心提示:ACE_SOCK_IO类,包装了Socket数据通讯的基本方法,ACE中Socket IPC通讯包装类族(3),本类提供的功能1 支持数据的发送和接收2 支持分散读操作3 支持集中写操作4 支持阻塞,非阻塞,定时 I/O操作基本结构如下class ACE_SOCK_IO : public ACE_SOCK{public

ACE_SOCK_IO类,包装了Socket数据通讯的基本方法。本类提供的功能

1 支持数据的发送和接收

2 支持分散读操作

3 支持集中写操作

4 支持阻塞,非阻塞,定时 I/O操作

基本结构如下

class ACE_SOCK_IO : public ACE_SOCK
{
public:
 ACE_SOCK_IO (void);
 ~ACE_SOCK_IO (void);

 //接收数据
 ssize_t recv (void *buf,
        size_t n,
        const ACE_Time_Value *timeout = 0) const;
 //分散读操作
 ssize_t recv (iovec iov[],
        size_t n,
        const ACE_Time_Value *timeout = 0) const;
 //发送数据       
 ssize_t send (const void *buf,
        size_t n,
        const ACE_Time_Value *timeout = 0) const;
 //集中写操作
 ssize_t send (const iovec iov[],
        size_t n,
        const ACE_Time_Value *timeout = 0) const;
};

ACE_SOCK_Stream类,继承ACE_SOCK_IO类。在ACE_SOCK_IO类提供的功能上,添加了发送

和接收刚好n个字节的能力。基本结构如下

class ACE_Export ACE_SOCK_Stream : public ACE_SOCK_IO
{
public:
 ACE_SOCK_Stream (void);
 ACE_SOCK_Stream (ACE_HANDLE h);
 ~ACE_SOCK_Stream (void);

 //刚好读取n个字节的数据
 ssize_t recv_n (void *buf,
         size_t len,
         const ACE_Time_Value *timeout = 0,
         size_t *bytes_transferred = 0) const;
 //分散读刚好n个字节操作
 ssize_t recvv_n (iovec iov[],
          int iovcnt,
          const ACE_Time_Value *timeout = 0,
          size_t *bytes_transferred = 0) const;
 //刚好发送n个字节的数据
 ssize_t send_n (const void *buf,
         size_t len,
         const ACE_Time_Value *timeout = 0,
         size_t *bytes_transferred = 0) const;
 //集中写刚好n个字节操作
 ssize_t sendv_n (const iovec iov[],
          int iovcnt,
          const ACE_Time_Value *timeout = 0,
          size_t *bytes_transferred = 0) const;

 int close_reader (void);
 int close_writer (void);

 int close (void);

 typedef ACE_INET_Addr PEER_ADDR;
};

上一页  1 2 3 4 5  下一页

Tags:ACE Socket IPC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接