• <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>

            tqsheng

            go.....
            隨筆 - 366, 文章 - 18, 評(píng)論 - 101, 引用 - 0
            數(shù)據(jù)加載中……
            re: 維生素 tqsheng 2013-03-19 22:15
            GNC Vitamin C Crystals 維生素粉
            如何設(shè)置socket的Connect超時(shí)(linux)

            今天發(fā)現(xiàn)自己的系統(tǒng)存在很嚴(yán)重缺陷,當(dāng)前臺(tái)關(guān)閉的時(shí)候后臺(tái)就無法正常工作,原因 很好定位,后臺(tái)的socket連接超時(shí)時(shí)間過長,系統(tǒng)默認(rèn)時(shí)間好像是75秒,于是找資料,根據(jù)下邊文章中的內(nèi)容解決了,把超時(shí)時(shí)間設(shè)為5秒后,感覺好多 了。看來還有好多東西需要慢慢挖掘阿!


            如何設(shè)置socket的Connect超時(shí)(linux)

            [From]http://dev.cbw.com/c/c/200510195601_4292587.shtml

            1. 首先將標(biāo)志位設(shè)為Non-blocking模式,準(zhǔn)備在非阻塞模式下調(diào)用connect函數(shù)
            2.調(diào)用connect,正常情況下,因?yàn)門CP三次 握手需要一些時(shí)間;而非阻塞調(diào)用只要不能立即完成就會(huì)返回錯(cuò)誤,所以這里會(huì)返回EINPROGRESS,表示在建立連接但還沒有完成。
            3.在讀套 接口描述符集(fd_set rset)和寫套接口描述符集(fd_set wset)中將當(dāng)前套接口置位(用FD_ZERO()、FD_SET()宏),并設(shè)置好超時(shí)時(shí)間(struct timeval *timeout)
            4. 調(diào)用select( socket, &rset, &wset, NULL, timeout )
            返回0表示connect超 時(shí)
            如果你設(shè)置的超時(shí)時(shí)間大于75秒就沒有必要這樣做了,因?yàn)閮?nèi)核中對(duì)connect有超時(shí)限制就是75秒。


            [From]http://www.ycgczj.com.cn/34733.html
            網(wǎng) 絡(luò)編程中socket的分量我想大家都很清楚了,socket也就是套接口,在套接口編程中,提到超時(shí)的概念,我們一下子就能想到3個(gè):發(fā)送超時(shí),接收超 時(shí),以及select超時(shí)(注: select函數(shù)并不是只用于套接口的,但是套接口編程中用的比較多),在connect到目標(biāo)主機(jī)的時(shí)候,這個(gè)超時(shí)是不由我們來設(shè)置的。不過正常情況下 這個(gè)超時(shí)都很長,并且connect又是一個(gè)阻塞方法,一個(gè)主機(jī)不能連接,等著connect返回還能忍受,你的程序要是要試圖連接多個(gè)主機(jī),恐怕遇到多 個(gè)不能連接的主機(jī)的時(shí)候,會(huì)塞得你受不了的。我也廢話少說,先說說我的方法,如果你覺得你已掌握這種方法,你就不用再看下去了,如果你還不了解,我愿意與 你分享。本文是已在Linux下的程序?yàn)槔樱贿^拿到Windows中方法也是一樣,無非是換幾個(gè)函數(shù)名字罷了。
            Linux中要給 connect設(shè)置超時(shí),應(yīng)該是有兩種方法的。一種是該系統(tǒng)的一些參數(shù),這個(gè)方法我不講,因?yàn)槲抑v不清楚:P,它也不是編程實(shí)現(xiàn)的。另外一種方法就是變相 的實(shí)現(xiàn)connect的超時(shí),我要講的就是這個(gè)方法,原理上是這樣的:
            1.建立socket
            2.將該socket設(shè)置為非阻塞模式
            3. 調(diào)用connect()
            4.使用select()檢查該socket描述符是否可寫(注意,是可寫)
            5.根據(jù)select()返回的結(jié)果 判斷connect()結(jié)果
            6.將socket設(shè)置為阻塞模式(如果你的程序不需要用阻塞模式的,這步就省了,不過一般情況下都是用阻塞模式的, 這樣也容易管理)
            如果你對(duì)網(wǎng)絡(luò)編程很熟悉的話,其實(shí)我一說出這個(gè)過程你就知道怎么寫你的程序了,下面給出我寫的一段程序,僅供參考。
            /******************************
            * Time out for connect()
            * Write by Kerl W
            ******************************/
            #include <sys/socket.h>
            #include <sys/types.h>
            #define TIME_OUT_TIME 20 //connect超時(shí)時(shí)間20秒
            int main(int argc , char **argv)
            {
            ………………
            int sockfd = socket(AF_INET, SOCK_STREAM, 0);
            if(sockfd < 0) exit(1);
            struct sockaddr_in serv_addr;
            ………//以服務(wù)器地址填充結(jié)構(gòu)serv_addr
            int error=-1, len;
            len = sizeof(int);
            timeval tm;
            fd_set set;
            unsigned long ul = 1;
            ioctl(sockfd, FIONBIO, &ul); //設(shè)置為非阻塞模式
            bool ret = false;
            if( connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == -1)
            {
            tm.tv_set = TIME_OUT_TIME;
            tm.tv_uset = 0;
            FD_ZERO(&set);
            FD_SET(sockfd, &set);
            if( select(sockfd+1, NULL, &set, NULL, &tm) > 0)
            {
            getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &error, (socklen_t *)&len);
            if(error == 0) ret = true;
            else ret = false;
            } else ret = false;
            }
            else ret = true;
            ul = 0;
            ioctl(sockfd, FIONBIO, &ul); //設(shè)置為阻塞模式
            if(!ret)
            {
            close( sockfd );
            fprintf(stderr , "Cannot Connect the server!n");
            return;
            }
            fprintf( stderr , "Connected!n");
            //下面還可以進(jìn)行發(fā)包收包操作
            ……………
            }

            以上代碼片段, 僅供參考,也是為初學(xué)者提供一些提示,主要用到的幾個(gè)函數(shù),select, ioctl, getsockopt都可以找到相關(guān)資料,具體用法我這里就不贅述了,你只需要在linux中輕輕的敲一個(gè)man <函數(shù)名>就能夠看到它的用法。
            此外我需要說明的幾點(diǎn)是,雖然我們用ioctl把套接口設(shè)置為非阻塞模式,不過select本身是阻 塞的,阻塞的時(shí)間就是其超時(shí)的時(shí)間由調(diào)用select 的時(shí)候的最后一個(gè)參數(shù)timeval類型的變量指針指向的timeval結(jié)構(gòu)變量來決定的,timeval結(jié)構(gòu)由一個(gè)表示秒數(shù)的和一個(gè)表示微秒數(shù) (long類型)的成員組成,一般我們?cè)O(shè)置了秒數(shù)就行了,把微妙數(shù)設(shè)為0(注:1秒等于100萬微秒)。而select函數(shù)另一個(gè)值得一提的參數(shù)就是上面 我們用到的fd_set類型的變量指針。調(diào)用之前,這個(gè)變量里面存了要用select來檢查的描述符,調(diào)用之后,針對(duì)上面的程序這里面是可寫的描述符,我 們可以用宏FD_ISSET來檢查某個(gè)描述符是否在其中。由于我這里只有一個(gè)套接口描述符,我就沒有使用FD_ISSET宏來檢查調(diào)用select之后這 個(gè)sockfd是否在set里面,其實(shí)是需要加上這個(gè)判斷的。不過我用了getsockopt來檢查,這樣才可以判斷出這個(gè)套接口是否是真的連接上了,因 為我們只是變相的用select來檢查它是否連接上了,實(shí)際上select檢查的是它是否可寫,而對(duì)于可寫,是針對(duì)以下三種條件任一條件滿足時(shí)都表示可寫 的:
            1)套接口發(fā)送緩沖區(qū)中的可用控件字節(jié)數(shù)大于等于套接口發(fā)送緩沖區(qū)低潮限度的當(dāng)前值,且或者i)套接口已連接,或者ii)套接口不要求連接 (UDP方式的)
            2)連接的寫這一半關(guān)閉。
            3)有一個(gè)套接口錯(cuò)誤待處理。
            這樣,我們就需要用getsockopt函數(shù)來獲取套接 口目前的一些信息來判斷是否真的是連接上了,沒有連接上的時(shí)候還能給出發(fā)生了什么錯(cuò)誤,當(dāng)然我程序中并沒有標(biāo)出那么多狀態(tài),只是簡單的表示可連接/不可連 接。
            下面我來談?wù)剬?duì)這個(gè)程序測(cè)試的結(jié)果。我針對(duì)3種情形做了測(cè)試:
            1. 目標(biāo)機(jī)器網(wǎng)絡(luò)正常的情況
            可以連接到目標(biāo)主機(jī),并能成功以 阻塞方式進(jìn)行發(fā)包收包作業(yè)。
            2. 目標(biāo)機(jī)器網(wǎng)絡(luò)斷開的情況
            在等待設(shè)置的超時(shí)時(shí)間(上面的程序中為20秒)后,顯示目標(biāo)主機(jī)不能連接。
            3. 程序運(yùn)行前斷開目標(biāo)機(jī)器網(wǎng)絡(luò),超時(shí)時(shí)間內(nèi),恢復(fù)目標(biāo)機(jī)器的網(wǎng)絡(luò)
            在恢復(fù)目標(biāo)主機(jī)網(wǎng)絡(luò)連接之前,程序一只等待,恢復(fù)目標(biāo)主機(jī)后,程序顯示連接目標(biāo)主 機(jī)成功,并能成功以阻塞方式進(jìn)行發(fā)包收包作業(yè)。
            以上各種情況的測(cè)試結(jié)果表明,這種設(shè)置connect超時(shí)的方法是完全可行的。我自己是把這種設(shè)置 了超時(shí)的connect封裝到了自己的類庫,用在一套監(jiān)控系統(tǒng)中,到目前為止,運(yùn)行還算正常。這種編程實(shí)現(xiàn)的connect超時(shí)比起修改系統(tǒng)參數(shù)的那種方 法的有點(diǎn)就在于它只用于你的程序之中而不影響系統(tǒng)。
            對(duì)于面向連接的socket類型(SOCK_STREAM,SOCK_SEQPACKET)在讀寫數(shù)據(jù)之前必須建立連接,首先服務(wù)器端socket必須在一個(gè)客戶端知道的地址進(jìn)行監(jiān)聽,也就是創(chuàng)建socket之后必須調(diào)用bind綁定到一個(gè)指定的地址,然后調(diào)用int listen(int sockfd, int backlog);進(jìn)行監(jiān)聽。此時(shí)服務(wù)器socket允許客戶端進(jìn)行連接,backlog提示沒被accept的客戶連接請(qǐng)求隊(duì)列的大小,系統(tǒng)決定實(shí)際的值,最大值定義為SOMAXCONN在頭文件<sys/socket.h>里面。如果某種原因?qū)е路?wù)器端進(jìn)程未及時(shí)accpet客戶連接而導(dǎo)致此隊(duì)列滿了的話則新的客戶端連接請(qǐng)求被拒絕(在工作中遇到過此情況,IONA ORBIX(CORBA中間件)由于沒有配置超時(shí)時(shí)間結(jié)果在WIFI網(wǎng)絡(luò)中傳輸數(shù)據(jù)出現(xiàn)異常情況一直阻塞而無機(jī)會(huì)調(diào)用accept接受新的客戶請(qǐng)求,于是最終隊(duì)列滿導(dǎo)致新的客戶連接被拒絕)。
              調(diào)用listen之后當(dāng)有客戶端連接到達(dá)的時(shí)候調(diào)用int accept(int sockfd, struct sockaddr *restrict addr, socklen_t *restrict len);接受客戶端連接建立起連接返回用于連接數(shù)據(jù)傳送的socket描述符,進(jìn)行監(jiān)聽的socket可以用于繼續(xù)監(jiān)聽客戶端的連接請(qǐng)求,返回的socket描述符跟監(jiān)聽的socket類型一致。如果addr不為NULL,則客戶端發(fā)起連接請(qǐng)求的socket地址信息會(huì)通過addr進(jìn)行返回。如果監(jiān)聽的socket描述符為阻塞模式則accept一直會(huì)阻塞直到有客戶發(fā)起連接請(qǐng)求,如果監(jiān)聽的socket描述符為非阻塞模式則如果當(dāng)前沒有可用的客戶連接請(qǐng)求,則返回-1(errno設(shè)置為EAGAIN)。可以使用select函數(shù)對(duì)監(jiān)聽的socket描述符進(jìn)行多路分離,如果有客戶連接請(qǐng)求則select將監(jiān)聽的socket描述符設(shè)置為可讀(注意,如果監(jiān)聽的socket為阻塞模式而使用select進(jìn)行多路分離則可能造成select返回可讀但是調(diào)用accept會(huì)被阻塞住的情況,原因是在調(diào)用accept之前客戶端可能主動(dòng)關(guān)閉連接或者發(fā)送RST異常關(guān)閉連接,因此select最好跟非阻塞socket搭配使用)。
              客戶端調(diào)用int connect(int sockfd, const struct sockaddr *addr, socklen_t len);發(fā)起對(duì)服務(wù)器的socket的連接請(qǐng)求,如果客戶端socket描述符為阻塞模式則會(huì)一直阻塞到連接建立或者連接失敗(注意阻塞模式的超時(shí)時(shí)間可能為75秒到幾分鐘之間),而如果為非阻塞模式,則調(diào)用connect之后如果連接不能馬上建立則返回-1(errno設(shè)置為EINPROGRESS,注意連接也可能馬上建立成功比如連接本機(jī)的服務(wù)器進(jìn)程),如果沒有馬上建立返回,此時(shí)TCP的三路握手動(dòng)作在背后繼續(xù),而程序可以做其他的東西,然后調(diào)用select檢測(cè)非阻塞connect是否完成(此時(shí)可以指定select的超時(shí)時(shí)間,這個(gè)超時(shí)時(shí)間可以設(shè)置為比connect的超時(shí)時(shí)間短),如果select超時(shí)則關(guān)閉socket,然后可以嘗試創(chuàng)建新的socket重新連接,如果select返回非阻塞socket描述符可寫則表明連接建立成功,如果select返回非阻塞socket描述符既可讀又可寫則表明連接出錯(cuò)(注意:這兒必須跟另外一種連接正常的情況區(qū)分開來,就是連接建立好了之后,服務(wù)器端發(fā)送了數(shù)據(jù)給客戶端,此時(shí)select同樣會(huì)返回非阻塞socket描述符既可讀又可寫,這時(shí)可以通過以下方法區(qū)分:
              1.調(diào)用getpeername獲取對(duì)端的socket地址.如果getpeername返回ENOTCONN,表示連接建立失敗,然后用SO_ERROR調(diào)用getsockopt得到套接口描述符上的待處理錯(cuò)誤;
              2.調(diào)用read,讀取長度為0字節(jié)的數(shù)據(jù).如果read調(diào)用失敗,則表示連接建立失敗,而且read返回的errno指明了連接失敗的原因.如果連接建立成功,read應(yīng)該返回0;
              3.再調(diào)用一次connect.它應(yīng)該失敗,如果錯(cuò)誤errno是EISCONN,就表示套接口已經(jīng)建立,而且第一次連接是成功的;否則,連接就是失敗的;
              對(duì)于無連接的socket類型(SOCK_DGRAM),客戶端也可以調(diào)用connect進(jìn)行連接,此連接實(shí)際上并不建立類似SOCK_STREAM的連接,而僅僅是在本地保存了對(duì)端的地址,這樣后續(xù)的讀寫操作可以默認(rèn)以連接的對(duì)端為操作對(duì)象。
              當(dāng)對(duì)端機(jī)器crash或者網(wǎng)絡(luò)連接被斷開(比如路由器不工作,網(wǎng)線斷開等),此時(shí)發(fā)送數(shù)據(jù)給對(duì)端然后讀取本端socket會(huì)返回ETIMEDOUT或者EHOSTUNREACH 或者ENETUNREACH(后兩個(gè)是中間路由器判斷服務(wù)器主機(jī)不可達(dá)的情況)。
              當(dāng)對(duì)端機(jī)器crash之后又重新啟動(dòng),然后客戶端再向原來的連接發(fā)送數(shù)據(jù),因?yàn)榉?wù)器端已經(jīng)沒有原來的連接信息,此時(shí)服務(wù)器端回送RST給客戶端,此時(shí)客戶端讀本地端口返回ECONNRESET錯(cuò)誤。
              當(dāng)服務(wù)器所在的進(jìn)程正常或者異常關(guān)閉時(shí),會(huì)對(duì)所有打開的文件描述符進(jìn)行close,因此對(duì)于連接的socket描述符則會(huì)向?qū)Χ税l(fā)送FIN分節(jié)進(jìn)行正常關(guān)閉流程。對(duì)端在收到FIN之后端口變得可讀,此時(shí)讀取端口會(huì)返回0表示到了文件結(jié)尾(對(duì)端不會(huì)再發(fā)送數(shù)據(jù))。 
              當(dāng)一端收到RST導(dǎo)致讀取socket返回ECONNRESET,此時(shí)如果再次調(diào)用write發(fā)送數(shù)據(jù)給對(duì)端則觸發(fā)SIGPIPE信號(hào),信號(hào)默認(rèn)終止進(jìn)程,如果忽略此信號(hào)或者從SIGPIPE的信號(hào)處理程序返回則write出錯(cuò)返回EPIPE。
              可以看出只有當(dāng)本地端口主動(dòng)發(fā)送消息給對(duì)端才能檢測(cè)出連接異常中斷的情況,搭配select進(jìn)行多路分離的時(shí)候,socket收到RST或者FIN時(shí)候,select返回可讀(心跳消息就是用于檢測(cè)連接的狀態(tài))。也可以使用socket的KEEPLIVE選項(xiàng),依賴socket本身偵測(cè)socket連接異常中斷的情況。
              發(fā)送socket數(shù)據(jù)有以下方法:
              調(diào)用ssize_t send(int sockfd, const void *buf, size_t nbytes, int flags);,只能用于建立好了連接的socket(面向連接的SOCK_STREAM或者調(diào)用了connect的SOCK_DGRAM)。flags取值如下:
              MSG_DONTROUTE 對(duì)數(shù)據(jù)不進(jìn)行路由
              MSG_DONTWAIT 不等待數(shù)據(jù)發(fā)送完成
              MSG_EOR 數(shù)據(jù)包結(jié)尾
              MSG_OOB 帶外數(shù)據(jù)
              注意send函數(shù)成功返回并不代表對(duì)端一定收到了發(fā)送的消息,另外對(duì)于數(shù)據(jù)報(bào)協(xié)議如果發(fā)送的數(shù)據(jù)大于一個(gè)數(shù)據(jù)報(bào)長度則發(fā)送失敗(errno設(shè)置為EMSGSIZE)。
            re: Visual Studio Team System 2008 tqsheng 2012-12-05 22:09
            另附cd-key一個(gè):PYHYP-WXB3B-B2CCM-V9DX9-VDY8T(不知道是否管用,請(qǐng)有心人測(cè)試一下,90days-trial版本換了這個(gè)cd-key是否可以去掉90days的限制,謝謝了
            深圳市榮通達(dá)科技有限公司
            聯(lián)系人:鄒軍 鋪主12小時(shí)內(nèi)維護(hù)過該信息
            手機(jī):13670121811 聯(lián)系我時(shí),請(qǐng)告知來自一呼百應(yīng)B2B搜索引擎!
            電話:0755-81507330
            傳真:0755-81507330
            電子郵箱:akzj331@163.com
            聯(lián)系地址:深圳寶安區(qū)西鄉(xiāng)街道三圍村裕興第二科技園B棟
            實(shí)時(shí)監(jiān)視圖象分辨率
            176*144(QCIF),352*288(CIF),704*288(2CIF),528*384(DCIF),704*576(D1);
            稱:深圳市榮通達(dá)科技有限公司
            聯(lián)系人:鄒軍 鋪主12小時(shí)內(nèi)維護(hù)過該信息
            手機(jī):13670121811 聯(lián)系我時(shí),請(qǐng)告知來自一呼百應(yīng)B2B搜索引擎!
            電話:0755-81507330
            傳真:0755-81507330
            電子郵箱:akzj331@163.com
            聯(lián)系地址:深圳寶安區(qū)西鄉(xiāng)街道三圍村裕興第二科技園B棟
            企業(yè)名稱:深圳市萊安科技有限公司
            經(jīng)營模式:生產(chǎn)型
            聯(lián) 系 人:陳莉
            聯(lián)系電話:0755-86180065
            地址:深圳市南山區(qū)西麗北路80號(hào)
            聯(lián)系人:西安志誠電子有限責(zé)任公司
            地 址:雁塔路中段33號(hào)
            電 話:02985521188
            吉林省蘭新恒遠(yuǎn)電子科技有限公司
            公司地址:吉林省長春市凈月開發(fā)區(qū)小合臺(tái)工業(yè)區(qū)5期
            聯(lián)系電話:0431-81038560
            傳 真:0431-81038560-16
            Q Q: 471711237
            電子郵箱:lanxin_1992@163.com
            網(wǎng)址:www.lxhy.com.cn
            所在地區(qū): 廣東/深圳
            聯(lián) 系 人: 劉勝華
            聯(lián)系電話: 0755-84198179
            手  機(jī): 13728627487
            聯(lián)系傳真: 0755-81781696
            電子郵件: ipwifi@ipwifi.cn
            公司網(wǎng)址: http://www.ipwifi.cn
            地  址: 深圳市龍崗區(qū)坂田街道坂田中心大廈六樓
            郵  編: 518129

            注冊(cè)日期:2010-05-13
            服務(wù)公司: 廣州視捷視訊科技有限公司
            用戶等級(jí):普通會(huì)員
            在線聯(lián)系:發(fā)短消息
            聯(lián)系電話:86-020-85698485
            聯(lián)系人:張兵
            MSN:
            QQ:
            聯(lián)系傳真:86-020-85523746
            Email:87566550@126.com
            地址:中國廣東廣州市廣州市天河區(qū)黃埔大道中221號(hào)406室
            手機(jī):13826160986
            RSS訂閱:訂閱或放入博客
            深圳市偉福特科技有限公司
            地址:廣東省深圳市寶安區(qū)龍華民冶東邊商業(yè)大廈507

            工廠:深圳龍華民治東美大廈5層

            國內(nèi)招商業(yè)務(wù): <黃青青 >

            全國24小時(shí)招商熱線: 0755—21889886

            手機(jī): 13794483411

            傳真:0755-29165211

            QQ:447474906

            郵編: 518131

            網(wǎng)址:
            http://www.szvfd.cn

            淘寶網(wǎng):http://shop35671758.taobao.com

            上海興立安防技術(shù)有限公司
            吉克 市場(chǎng)部銷售總監(jiān)電話:86-021-51089832手機(jī):13816267766 傳真:0086-021-51089832-8000
            re: 視頻 tqsheng 2012-11-18 23:44
            :18601022181
            15810485646公司地址:北京市海淀區(qū)成府路298號(hào)中關(guān)村方正大廈6層聯(lián) 系 人:韓予諶 孫翰苑
            re: 維生素 tqsheng 2012-10-05 14:01
            護(hù)眼
            Nature's Way Ginkgold® Eyes -
            re: 維生素 tqsheng 2012-10-05 10:16
            GNC 銀杏精華Ginkgo Biloba 120mg 100粒
            re: 控件網(wǎng) tqsheng 2012-06-24 10:59
            Softgroup.NET.Bars.Controls.v5.0.4556.Incl.Keygen-BEAN
            Softgroup.NET.Multimedia.Control.v4.0.4556.Incl.Keygen-BEAN
            Softgroup.NET.Progress.Bar.v5.0.4099.Incl.Keygen-BEAN
            reget.it
            tenacy.home.kg/public
            re: 快捷鍵 tqsheng 2011-12-14 23:23
            VA
            ALT+G : 定義和引用間相互切換
            ALT+O: .H和.c 跳轉(zhuǎn)
            ALT+SHIFT+Q : 創(chuàng)建聲明定義
            ALT+SHIFT+R: 批量重改名
            ALT+SHIFT+S: 定位對(duì)象和變量
            ALT+SHIFT+O: 定位文件
            ALT+SHIFT+F: 找出所有引用
            http://wenku.baidu.com/view/e5e7856a25c52cc58bd6be98.html
            re: 工具 tqsheng 2011-10-25 22:04

            另外還有個(gè)工具叫AdRestore
            Restore deleted objects on Windows Server 2003 domains.
            http://technet.microsoft.com/zh-cn/sysinternals/bb963907(en-us).aspx
            re: 工具 tqsheng 2011-10-25 22:03
            終于找到一個(gè)可以查看隱藏容器的工具:Active Directory Explorer
            re: 5F導(dǎo)引導(dǎo)管 tqsheng 2011-09-19 12:26
            上海銘程貿(mào)易有限公司 查看招聘中的職位>>
            公司行業(yè): 醫(yī)療設(shè)備/器械 醫(yī)療/護(hù)理/衛(wèi)生

            公司性質(zhì): 民營公司

            公司規(guī)模: 少于50人




            銘程貿(mào)易有限公司是一家以醫(yī)療器械為主體的專業(yè)代理公司,是強(qiáng)生Codman公司神經(jīng)介入產(chǎn)品的上海、蘇南、浙北獨(dú)家經(jīng)銷商。現(xiàn)已與長海、華山等眾多知名醫(yī)院建立了較完整的經(jīng)營渠道。伴隨Codman 創(chuàng)新產(chǎn)品Mircus生物圈的上市,團(tuán)隊(duì)業(yè)務(wù)在迅速不斷擴(kuò)大,基于公司發(fā)展需求,基于上海工作需求,現(xiàn)誠聘人員與公司一起發(fā)展
            符合條件者請(qǐng)附上:個(gè)人簡歷、薪資要求及一寸近照(必須)。合則約見,勿電勿訪。

            地 址:上海市中山南二路481號(hào)21號(hào)樓 (地鐵四號(hào)線,大木橋路站三號(hào)出口,步行5分鐘即可到達(dá))
            郵政編碼:200032
            聯(lián) 系 人:人事部 趙小姐
            電子郵箱:hrsh2000@163.com


            聯(lián) 系 人:趙小姐

            地 址:上海市徐匯區(qū)中山南二路481號(hào)21號(hào)樓(地鐵四號(hào)直達(dá))

            久久99精品久久久久婷婷| 亚洲精品乱码久久久久66| 久久天天躁狠狠躁夜夜2020 | 久久精品国产只有精品2020| 51久久夜色精品国产| 亚洲精品无码专区久久同性男| 久久天天躁狠狠躁夜夜avapp| 99久久精品免费| 久久久久久国产精品免费无码| 国产精品VIDEOSSEX久久发布| 亚洲中文字幕无码久久综合网| 99久久精品国内| 亚洲va久久久噜噜噜久久狠狠| 久久精品一区二区影院| 久久精品a亚洲国产v高清不卡| 香港aa三级久久三级老师2021国产三级精品三级在 | 2020最新久久久视精品爱| 国产成人精品综合久久久久 | 亚洲国产成人乱码精品女人久久久不卡| 亚洲欧美日韩中文久久 | 亚洲精品高清国产一线久久| 久久国产精品二国产精品| 国产精品久久久久久一区二区三区| 亚洲欧洲久久久精品| 久久久久国产一区二区| 日本久久久精品中文字幕| 久久精品国产清高在天天线| 久久久久国产精品嫩草影院| 欧美麻豆久久久久久中文| 一级做a爱片久久毛片| 久久精品视频免费| 久久青青草原综合伊人| 97久久久久人妻精品专区| 色综合久久无码中文字幕| 久久狠狠爱亚洲综合影院| 欧美日韩精品久久久免费观看| 久久亚洲高清综合| 香蕉久久久久久狠狠色| 久久久噜噜噜www成人网| 国产色综合久久无码有码| 久久www免费人成看片|