• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小明思考

            高性能服務(wù)器端計(jì)算
            posts - 70, comments - 428, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            ACE Beginner

            Posted on 2005-11-24 11:28 小明 閱讀(3612) 評論(8)  編輯 收藏 引用 所屬分類: C/C++ 、Network/ACE

            1.download ACE from: www.cs.wustl.edu/~schmidt/ACE.html

            2.build ACE in Visual Studio,generate ACE.lib(dll)[for release] & ACEd.lib(dll)[for debug]

            3.create a empty project named: ACETest

            4.add ACE path into Project Include Path and add ACE/lib into project lib path

            5.create a file(hello.cpp)

            #ifdef _DEBUG
            #pragma comment(lib,
            "ACED.lib")
            #else
            #pragma comment(lib,
            "ACE.lib")
            #endif

            #include 
            <ace/OS_main.h>
            #include 
            <ace/ACE.h>
            #include 
            <ace/Log_Msg.h>
            #include 
            <ace/SOCK_Connector.h>

            int main(int argc, char *argv[])
            {
             ACE_INET_Addr addr(
            1500,"127.0.0.1"); //remote address
             ACE_SOCK_Connector con; // connetor for socket client
             ACE_SOCK_Stream stream; // stream is for socket read/write

             
            if(con.connect(stream,addr)==-1//connect to remote address
             {
              ACE_DEBUG ((LM_DEBUG,
               ACE_TEXT (
            "(%P|%t) %p\n"),
               ACE_TEXT (
            "connection failed")));
              
            return 1;
             }

             
            const char msg[] = "Hello,ACE!";

             stream.send_n(msg,
            sizeof(msg)); // send_n function send exactly n bytes

             
            char buffer[1024= {0};

             
            if(stream.recv(buffer,sizeof(buffer)-1)==-1// just call socket recv
             {
              ACE_DEBUG ((LM_DEBUG,
               ACE_TEXT (
            "(%P|%t) %p\n"),
               ACE_TEXT (
            "recv failed")));
              
            return 1;
             }
             ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT (
            "(%P|%t) recv:%s\n"),
              buffer));

             
            if (stream.close () == -1//close the connection
             {
              ACE_ERROR ((LM_ERROR,
               ACE_TEXT (
            "(%P|%t) %p\n"),
               ACE_TEXT (
            "close")));
              
            return 1;
             }

             
            return 0;
            }



            6.build & execute

            Feedback

            # re: ACE Beginner  回復(fù)  更多評論   

            2005-11-24 18:02 by worm
            執(zhí)行一次就退出呼!加加料哦

            # re: ACE Beginner  回復(fù)  更多評論   

            2006-01-08 21:14 by 任我行
            恩,這個(gè)不錯(cuò)。對網(wǎng)絡(luò)來說很簡單。


            學(xué)新的。。。。

            # 找不到頭文件  回復(fù)  更多評論   

            2006-02-17 16:21 by 曉曉
            #include <ace/OS_main.h>
            #include <ace/ACE.h>
            #include <ace/Log_Msg.h>
            #include <ace/SOCK_Connector.h>

            # re: ACE Beginner  回復(fù)  更多評論   

            2006-03-19 23:01 by 橙子
            前面應(yīng)該加個(gè) WSAStartup

            # re: 橙子  回復(fù)  更多評論   

            2006-03-21 09:29 by 小明
            不需要WSAStartup

            WSAStartup是Windows平臺(tái)需要的
            記住ACE是跨平臺(tái)的,所以ACE會(huì)幫你去做這些事情,而不需要你自己去做。

            # re: ACE Beginner  回復(fù)  更多評論   

            2006-03-25 18:20 by Tauruser
            什么是ACE?

            # re: ACE Beginner  回復(fù)  更多評論   

            2006-08-16 18:17 by Kennen
            我的程序編譯正確,但是會(huì)進(jìn)入
            if(con.connect(stream,addr)==-1) //connect to remote address
            {
            ACE_DEBUG ((LM_DEBUG,
            ACE_TEXT ("(%P|%t) %p\n"),
            ACE_TEXT ("connection failed")));
            return 1;
            }
            然后退出,不知何故?
            ace5.5+.net2005

            # re: ACE Beginner  回復(fù)  更多評論   

            2006-10-11 14:48 by 阿蘇大發(fā)動(dòng)司法
            能不能弄個(gè)動(dòng)態(tài)鏈接的例子阿?你上面的好像都是靜態(tài)的
            国产激情久久久久久熟女老人 | 狠狠精品干练久久久无码中文字幕 | 久久99精品久久久久子伦| 久久亚洲AV成人无码国产| 国产情侣久久久久aⅴ免费| 国产精品久久久久久久久鸭 | 中文字幕成人精品久久不卡| 久久最新精品国产| 性做久久久久久久久| 99久久99久久精品免费看蜜桃| 九九久久99综合一区二区| 日韩久久无码免费毛片软件| 欧美va久久久噜噜噜久久| 精品人妻伦一二三区久久| 久久久久人妻精品一区二区三区 | 国产免费久久精品99re丫y| 国产成人精品免费久久久久| 青青青青久久精品国产h久久精品五福影院1421| 久久综合九色欧美综合狠狠| 国产情侣久久久久aⅴ免费| 色偷偷88欧美精品久久久| 青青青青久久精品国产h| 无码人妻久久一区二区三区免费| 久久精品18| 久久最新精品国产| 99久久精品影院老鸭窝| 国产精品成人久久久| 久久se精品一区二区影院| 色天使久久综合网天天| 久久精品国产亚洲av麻豆色欲| 色综合久久久久久久久五月| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 成人久久精品一区二区三区| 麻豆一区二区99久久久久| 久久久青草久久久青草| 久久午夜夜伦鲁鲁片免费无码影视| 伊人丁香狠狠色综合久久| 久久香蕉国产线看观看99| 国产∨亚洲V天堂无码久久久| 99久久婷婷国产一区二区| 99精品国产在热久久|