vc下编写SERVER端的程序,Socket API实现如何多线程?

zhu_bin 2001-05-19 07:06:00

在LINUX上 编写server :while (1)
{newfd=acept();
if((cipd=fork())=0)
{
close(sockefd);
bata(newfd);//数据处理
close (newfd);
}
}
以上在VC下如何用多线程实现!在OnconnectBUTTON()里循环,而不去立刻执行线程
void CServertestDlg::OnconnectBUTTON()
while (1)
{newfd=accept(sockfd,(struct sockaddr *)&clientInfo,&socketlen);
AfxBeginThread(ThreadProc,&newfd );
closesocket(newfd);
}




...全文
77 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
elpam 2001-05-21
  • 打赏
  • 举报
回复
newfd怎么能够立刻就close了呢? 这样工作线程肯定不能够正常运行,newfd应该在工作线程重关闭而不是主线程关闭
zhu_bin 2001-05-20
  • 打赏
  • 举报
回复
监听Socket的是主线程,while (1)
{newfd=accept(sockfd,(struct sockaddr *)&clientInfo,&socketlen);
AfxBeginThread(ThreadProc,&newfd );
closesocket(newfd);
} 主线程不挺的监听accept,死循环,只有强性退出,才回去执行执行新的线程。





Gosoft 2001-05-19
  • 打赏
  • 举报
回复
我不太懂你的意思,
根据我的理解,监听Socket是主线程,当每次接受倒一个连接请求时启动一个
线程处理,处理完毕线程自动撤消即可。
不须启动线程而又不立即执行。
不解 2001-05-19
  • 打赏
  • 举报
回复
<TCP/IP网络互连技术>第三卷(for windows).

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧