• <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>
            牽牛散步
            仗劍走天涯

            最近開始學習ICE,頭有點大,900多頁的文檔看了五百多頁還不知CLIENT如何定位SERVER的位置,郁悶的很...昨天毛了直接看文檔的最后幾頁..我暈原來在這里給闡述了...差不多想撞墻

            以下是中文文檔中關于端點的描述:

            D.2 端點
            綱要
            endpoint : endpoint
            描述
            端點列表由一個或多個用冒號(:) 分隔的端點組成。端點的格式如下所
            示: protocol option。所支持的協議有tcp、udp、ssl,以及
            default。如果使用了default,它會被Ice.Default.Protocol 屬性的值替
            代。如果端點的格式有問題,或者指定了未知的協議,應用會收到
            Ice::EndpointParseException。
            只有安裝了IceSSL 插件,才能使用ssl 協議。
            各個協議及其所支持的選項將在下面描述。
            TCP 端點
            綱要
            tcp -h host -p port -t timeout -z
            描述
            tcp 端點支持以下選項:
            選項描述客戶語義服務器語義
            -h host 指定端點的主機名
            或IP 地址。如果
            沒有指定,將使用
            Ice.Default.Hos
            t 的值。
            確定要連接到的主
            機名或IP 地址。
            確定對象適配器用
            于偵聽連接的網絡
            接口,以及在適配
            器所創(chuàng)建的代理中
            向外公布的主機
            名。
            -p port 指定端點的端口
            號。
            確定要連接到的端
            口( 必須指定)。
            如果沒有指定這個
            選項,或是port 為
            零,端口將由操作
            系統選擇。
            932 代理與端點


            以上是基于TCP協議的,關于UDP,SSL協議的也差不多

            我在我的聊天程序中連接LAN中一臺服務器的代碼:
            #include <Ice/Ice.h>
            #include <Printer.h>

            using namespace std;
            using namespace Demo;


            int main(int argc, char * argv[])
            {
                int status = 0;
             char strtemp[100];//聊天內容
             char clientname[20];//客戶名
             char chattmp[130];
                Ice::CommunicatorPtr ic;
                try {
              ic = Ice::initialize(argc, argv);
            /*連接服務器:SimplePrinter16所申請的代理ID,default即為使用默認的協議TCP,-h 192.168.1.16 為服務端所在LAN中的IP地址,-p 9600為端口號*/
              Ice::ObjectPrx base = ic->stringToProxy("SimplePrinter16:default -h 192.168.1.16 -p 9600");
              //創(chuàng)建一個Printer的代理(Printer即為客戶端與服務器端的接口),利用checkedCast(base)檢查代理是否存在
              PrinterPrx printer = PrinterPrx::checkedCast(base);
              if (!printer)
              {
               throw "Invalid proxy";//代理不存在
              }
              else
              {
               printf("請輸入您的ID:");
               cin >> clientname;
              }

              while ( 1 )
              {
               cin >> strtemp;//輸入聊天內容
               if ( strcmp( strtemp,"q") == 0 )
               {
                break;//退出聊天
               }
               //strcat( chattmp, clientname );
               strcpy( chattmp, clientname );
               strcat( chattmp, " say: " );
               strcat( chattmp, strtemp );
               printer->printString(chattmp);
              }
              
              //發(fā)給服務器的退出消息
              printer->printString(clientname);
              printer->printString("已退出!");
              cout << "成功退出!" << endl;
              
                } catch (const Ice::Exception & ex) {
              cerr << ex << endl;
              status = 1;
                } catch (const char * msg) {
              cerr << msg << endl;
              status = 1;
                }
                if (ic) {
              try {
               ic->destroy();
              } catch (const Ice::Exception & ex) {
               cerr << ex << endl;
               status = 1;
              }
                }
                return status;
            }

            posted on 2005-12-09 20:10 牽牛散步 閱讀(3228) 評論(3)  編輯 收藏 引用 所屬分類: ICE FOR VC++6.0
            Comments
            • # re: 在ICE客戶端中如何定位服務器端的位置(即如何尋找代理)
              括號
              Posted @ 2006-08-07 12:56
              寫的很不錯,歡迎指教哦。我也剛學ICE,嘿嘿。  回復  更多評論   
            • # re: 在ICE客戶端中如何定位服務器端的位置(即如何尋找代理)
              w
              Posted @ 2007-04-16 13:05
              如果有多個客戶端,服務器響應函數輸入參數只有數據+current,服務器怎么知道數據是來自哪個客戶端,也就是怎么獲取客戶端的IP+ 端口?  回復  更多評論   
            • # re: 在ICE客戶端中如何定位服務器端的位置(即如何尋找代理)
              QQ332728135
              Posted @ 2007-05-15 13:00
              感謝,很好的文章  回復  更多評論   
             
            色婷婷噜噜久久国产精品12p| 亚洲色欲久久久久综合网 | 国产无套内射久久久国产| 久久综合久久综合九色| 爱做久久久久久| 亚洲伊人久久精品影院| 国产精品久久久久久久久鸭| 久久九九久精品国产免费直播| 伊人久久无码中文字幕| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久频这里精品99香蕉久| 99精品久久久久久久婷婷| 久久精品国产一区二区三区日韩| 污污内射久久一区二区欧美日韩| 狠狠色婷婷久久综合频道日韩| 色综合久久天天综合| 国产美女亚洲精品久久久综合 | 精品国产乱码久久久久久浪潮| 久久AV高潮AV无码AV| 国产999精品久久久久久| 久久久久久九九99精品| 久久久久亚洲精品天堂久久久久久| 久久综合给合久久狠狠狠97色 | 国产精品久久久久久福利69堂| 久久亚洲国产成人影院网站 | 精品国产综合区久久久久久| 亚洲中文字幕无码一久久区| 伊人久久精品无码av一区| 韩国无遮挡三级久久| 国产美女亚洲精品久久久综合| 久久久精品久久久久久 | 91精品国产高清久久久久久io| 久久午夜综合久久| 亚洲国产精品久久久久网站| 精品乱码久久久久久久| 色婷婷久久综合中文久久蜜桃av| 国产aⅴ激情无码久久| 77777亚洲午夜久久多喷| 亚洲国产精品无码久久| 国产亚洲精久久久久久无码77777| 国产成人久久精品一区二区三区|