| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1706 人关注过本帖
标题:急需解答, 哪位高手指点一下啊? 感激不尽!!!!
只看楼主 加入收藏
lfokbest
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-3-21
结帖率:62.5%
收藏
已结贴  问题点数:0 回复次数:1 
急需解答, 哪位高手指点一下啊? 感激不尽!!!!
listen(hsockfd,5);

    act.sa_handler=sig_cld;
    sigemptyset(&act.sa_mask);
    act.sa_flags=0;
    act.sa_flags=0;
    sigaction(SIGCLD,&act,&oact);

    for(;;){
        c_len=sizeof(c_add);
        csockfd=accept(hsockfd,(struct sockaddr *)&c_add,&c_len);
        if(csockfd<0)
                {
            if(errno==EINTR) continue;
            errorlog("Accept:%s\n",strerror(errno));
            close(csockfd);
            continue;

上述代码为银行代理服务器一小部分,listen(hsockfd,5)表示连接等待队列中的数量控制为5个, 然后循环调用accept(hsockfd,(struct sockaddr *)&c_add,&c_len)创建一个新的套接口获取一个连接的信息,请问:怎样实现同时处理多个客户机连接,比如说同时处理100个客户的连接???
请高人指点,感激不尽!!! 有事例代码更好!!!谢谢了
搜索更多相关主题的帖子: 解答 感激不尽 
2010-03-25 23:16
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:9 
另建一个线程函数如:DWORD WINAPI scoketThread(LPVOID lpParam);  //该函数调用实参用accept()创建的一个socket对象c_add
csockfd=accept(hsockfd,(struct sockaddr *)&c_add,&c_len);
if  (c_add != INVALID_SOCKET)
{
    hThread = CreateThread(NULL, 0, scoketThread, (LPVOID)c_add, 0, &dwThreadId); //这个函数创建一个线程,用法自己查一下!
    ...
}

★★★★★为人民服务★★★★★
2010-03-26 07:33
快速回复:急需解答, 哪位高手指点一下啊? 感激不尽!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027080 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved