毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

VC如何接受多个用户连接?

更新时间:2012-7-18:  来源:毕业论文

以前是用VB控件的 winsock.ocx 建立一个数组控件 一个控件接受一个连接 可以动态建立65535个控件

意味着6万多个用户可以与我进行连接

在MFC下 如何做到N多个用户进行连接呢

现在我做成了 只可以进行一个用户连接 必须要用到多线程之类的 什么线程池吗?
不用多线程技术可以做到吗?

if (listen(m_Listen, 5) == 0) // 监听连接
{
SetDlgItemText(IDC_Run,L"监听连接成功.");
GetDlgItem(IDC_Run)->EnableWindow(false); // 禁用
}
switch (lParam)
{
case FD_ACCEPT: // 接受连接
closesocket(m_Accept);
m_Accept = accept(m_Listen, NULL, NULL);
if (m_Accept != INVALID_SOCKET)
{
m_Msg.ReplaceSel(L"接受连接成功。\n");
}
else
{
m_Msg.ReplaceSel(L"接受连接失败。\n");
}
break;
if (listen(m_Listen, 5) == 0) // 监听连接
{
SetDlgItemText(IDC_Run,L"监听连接成功.");
GetDlgItem(IDC_Run)->EnableWindow(false); // 禁用
}

使用while(true)一直监听啊,这样可以接受到多个客户端的连接、

向你介绍一下mfc中的多线程
MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息
队列和消息循环。
  工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独
立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。  在MFC中,一般用全局函数AfxBeginThread()来创建并初始化一个线程的运行,该函数有两种重载形式,分别用于创建工作者线程和用户界面线程。
个人认为网络编程使用多线程技术利是大于弊的,啊D注入工具就是利用多线程技术写的。
多线程,动态创建线程。在MFC中有事件驱动的方式,可以不使用多线程,CAsynsock 重载事件函数

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。