ACE多线程服务器

这篇博客介绍了ACE(Adaptive Communication Environment)——一个由Douglas C. Schmidt博士开发的跨平台网络编程框架。文章重点展示了如何使用ACE实现一个简单的多线程服务器,强调其在提高代码可移植性、可靠性和性能上的优势。提供了ACE的官方链接、相关资源及源代码下载,鼓励读者深入学习ACE的更多功能。
摘要由CSDN通过智能技术生成

    ACE(Adaptive Communication Environment),它是一个面向对象的、跨平台的、开放源码的网络编程基础设施框架。

    ACE 是由加利福尼亚大学Irvine分校的Douglas C.Schmidt 博士主导开发的,是一种跨平台可编译的网络编程API,并随后在工业界中发展、完善,它将底层的不同系统的细节透明化,为开发者提供统一的接口,从而可在不同系统上相互移植,提高代码利用率。与传统的网络编程相比,它更加规范化,极力避免工业开发中人们常会出现的错误情况,从而提高了程序的可靠性和易用性,并且拥有较高的性能优势。

    读者可以从http://www.cs.wustl.edu/~schmidt/ACE.html进一步了解ACE和下载、安装。同时可以点击这里下载有关ACE的相关电子书籍。

    本文实现了ACE的一个简单多线程服务器,主要是通过多线程处理并发能力。源代码请点击这里下载

    跟传统的socket编程一样,我们也需要在while循环中监听端口,并分配线程进行处理,程序的头文件定义如下:

#include "ace/SOCK_Stream.h"
#include "ace/SOCK_Acceptor.h"

class ACE_Server {
public:
    int run_svc();

protected:
    //thread entity pointer class
    class Thread_Args{
    public:
        //the pointer of allocating the space of new thread
        Thread_Args(ACE_Server *lsp) : ls(lsp){}
        ACE_Server *ls;
        ACE_SOCK_Stream peer;
    };

    virtual int handle_connections();
    virtual int handle_data(ACE_SOCK_Stream* arg = 0);
    in
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值