| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:请教AsyncSelect()的相关用法!
只看楼主 加入收藏
Windstorm
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-5
收藏
 问题点数:0 回复次数:0 
请教AsyncSelect()的相关用法!

我想在程序中使用AsyncSelect(),这样可以让系统主动通知有客户连接并调用。下面是代码:
void CServerDlg::OnButton1()
{
int i=0;
CString tempPort="0";
unsigned int nPort=0;
CString strAddr="";
GetDlgItemText(IDC_EDITIP,strAddr);
GetDlgItemText(IDC_nPort,tempPort);
struct tm *times; //定义时间指针变量.....(只能用指针)
time_t t; //定义系统时间变量,供提供系统时间
t = time(0); //当前系统时间给变量t
times = localtime(&t);
m_h=times->tm_hour;
m_m=times->tm_min;
m_s=times->tm_sec;
UpdateData(false);
nPort=atoi(tempPort.GetBuffer(tempPort.GetLength()));
if ( strAddr=="")
{
MessageBox("请输入本机IP地址!");
return;
}

else if (nPort=0)
{
MessageBox("请输入端口号(不能为0)!");
return;
}

else

m_l="监听中,等待客户端连接......";
UpdateData(false);
nPort=atoi(tempPort.GetBuffer(tempPort.GetLength()));
//-----------------------------------------------------------------------------
while (i!=1){
if ( !AfxSocketInit() )
{
MessageBox("Windows Sockets初始化错误","Send",MB_ICONSTOP);
return;
}
//构造两个Socket对象
CSocket ListeningSocket, AcceptSocket;

//创建Socket
if ( !ListeningSocket.Create(nPort) )
{
MessageBox("监听失败!","Listening",MB_ICONSTOP);
}
else
{

//将本地地址与该Socket对象捆绑
ListeningSocket.Bind(nPort,strAddr);
//开始监听
ListeningSocket.Listen();
//---------------------------------------------------------------------
ListeningSocket.AsyncSelect();//AsyncSelect里面的参数应
//该如何填写?
//---------------------------------------------------------------------
AcceptSocket.AsyncSelect()
//创建一个新的Socket对象,接受客户的请求
ListeningSocket.Accept(AcceptSocket);

}
如上代码,我的想法是这样的,在调用Listen()函数后,调用AsyncSelect()来监视是否有客户端连接并适时调用Accept()。
现在主要有两个问题:
1.不知道AsyncSelect()括号内的参数应该怎么填写
2.在使用AsyncSelect()后,怎样通知Accept()有连接呢?是像我上面一样直接AcceptSocket.AsyncSelect(),还是要用别的方法?

请高手赐教!

搜索更多相关主题的帖子: AsyncSelect 用法 
2006-12-07 23:16
快速回复:请教AsyncSelect()的相关用法!
数据加载中...
 
   



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

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