亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1095 | 回復(fù): 0
打印 上一主題 下一主題

connect與accept時(shí)間相隔甚遠(yuǎn) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2004-02-06 14:59 |只看該作者 |倒序?yàn)g覽
client為阻塞方式。
server為select方式。

當(dāng)client connect函數(shù)返回,一分鐘以后server的套接口描述符才
有數(shù)據(jù)。


下面是server端的accept代碼。

for( ; ; ){
        FD_ZERO(&readfds);            // clear set
        FD_SET(m_fdListenSocket, &readfds);       // add sock to set
        memset[/quote]( &clientAddr, 0, sizeof (sockaddr_in) );

                tval.tv_sec  = 0;
                tval.tv_usec = 10;

               err = ::select(0, &readfds, NULL, NULL, &tval);
               if ( -1 == err ) {
                break;
        }
        if (FD_ISSET(m_fdListenSocket, &readfds)){
#ifdef _WINDOWS
                int iSockaddrLen = sizeof (sockaddr_in);
#else
                socklen_t iSockaddrLen = sizeof (sockaddr_in);
#endif
                int client_socket = accept(m_fdListenSocket, (sockaddr *)&clientAddr, &iSockaddrLen );
            if (client_socket == -1)
            {
        break;
            }
}


下面是client端的連接代碼:
        // 建立socket
        sock_fd = socket( AF_INET, SOCK_STREAM, 0 );
#ifdef _DEBUG
        printf( "Call socket function, Return socket file desc: %d\n", sock_fd );
#endif

        if( -1 == sock_fd ){
                return -1;
        }

        memset( &serv_addr, 0, sizeof(sockaddr_in) );
        serv_addr.sin_family = AF_INET;
        serv_addr.sin_port = htons( SERV_PORT );

        if( 0 == pIP_Addr ){
                serv_addr.sin_addr.s_addr = inet_addr( "127.0.0.1" );
        } else {
                serv_addr.sin_addr.s_addr = inet_addr( pIP_Addr );
        }


        ret = connect( sock_fd, (sockaddr*) &serv_addr, sizeof(serv_addr));


client 在connect完成后,執(zhí)行一個(gè)cpu利用率幾乎為100%的計(jì)算程序。

client是個(gè)雙cpu的機(jī)器,并且運(yùn)行了兩個(gè)上面的同樣的程序,當(dāng)只運(yùn)行一個(gè)程序時(shí),幾乎沒有延時(shí)。。

server 為windows 2000
client 為L(zhǎng)inux 7.3


請(qǐng)高手指點(diǎn),為什么要等待那么長(zhǎng)時(shí)間。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP