RasDial 拨号
RasHangUp 挂断
RasHangUp 挂断
解决方案 »
- 虚拟列表加数据显示问题
- 两个静态连接库可以合成一个使用吗?
- 我该怎么开发这个ActiveX控件
- 为什么捕捉视频时会丢掉帧数???我在录制按钮中设了个线程。来捕捉视频的。我在按录制时,变成“停止”时,它就会丢掉帧数。还有就是在不
- 请问哪有vc的好书下载,中文英文都可以,www.pdown.net除外
- [请问] 如何截获系统锁定和解锁定的消息
- “c:\winnt\system32\mfc42d.dll为无效的windows映像。“??????200分
- 资源管理器的列表的做法
- 迷茫啊?求教~
- 请求帮助,DXUT的控件问题
- 各位真诚的朋友,给我一个你的建议吧。(关于做计算机教师的)
- 关于sql server数据库中的auto increase字段
m_hServerSocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(m_hServerSocket==INVALID_SOCKET)
{
AfxMessageBox("创建服务socket失败,检查TCP/IP网络配置");
return false;
}
int err;
SOCKADDR_IN addr;
CString strErrMsg;
memset(&addr,0,sizeof(addr));
addr.sin_family=AF_INET;
addr.sin_port=htons(5500);
addr.sin_addr.s_addr = htonl(INADDR_ANY); if(bind(m_hServerSocket,(SOCKADDR*)&addr,sizeof(addr)))
{
err = WSAGetLastError ();
strErrMsg="绑定TCP/IP协议出错,错误原因可能是侦听端口被占用了,请检查TCP/IP设置!";
MessageBox(strErrMsg);
return FALSE;
}
else
{
if(listen(m_hServerSocket,SOMAXCONN))
{
err = GetLastError();
strErrMsg.Format("在端口%d侦听失败,失败原因为:%s,请试试其他端口建议端口号范围为5500到65500之间!",g_dwListenPort,GetErrorMessage(err));
MessageBox(strErrMsg);
return FALSE;
}
} if(WSAAsyncSelect(m_hServerSocket,m_hWnd,WM_SOCKET_MESSAGE,FD_ACCEPT|FD_CLOSE)!=0)
return false;
return true;在后面定义消息WM_SOCKET_MESSAGE的响应函数,如果有连接请求则会发这个消息!
2、客户端的拨号程序为
BOOL AutoDial(long nID,HRASCONN& hConnect)
{
//自动拨号
COCIRecord rec(&g_db);
rec.m_strSql.Format("select dialername,dialerusername,dialerpassword,\
dialerdomain from dc2_node where nodeid=%d",nID);
if(!rec.Open())
{
AfxMessageBox("CMainFrame::AutoDial:1526"+rec.GetErrorMessage());
return false;
}
rec.MoveNext();
if(rec.GetCurrentRowCount()==0)return false;
CString strDialerName = rec.GetItemBuffer(0,"dialername");
CString strDialerUserName = rec.GetItemBuffer(0,"dialerusername");
CString strDialerPassword = rec.GetItemBuffer(0,"dialerpassword");
CString strDialerDomain = rec.GetItemBuffer(0,"dialerdomain"); RASDIALPARAMS param;
memset(¶m,0,sizeof(param));
param.dwSize = sizeof(param);
strcpy(param.szEntryName,strDialerName);
strcpy(param.szUserName,strDialerUserName);
strcpy(param.szPassword,strDialerPassword);
strcpy(param.szDomain,strDialerDomain); hConnect=0;
m_dblDialStart = TimeToDouble(CTime::GetCurrentTime());
DWORD ret=RasDial(NULL,NULL,¶m,0,RasDialFunc,&hConnect);
BOOL bRet = ret == 0 ;
if(!bRet)
{
m_pwndStatusTab->SetErrorMessage((char *)(LPCTSTR)("拨号失败:"+GetRasError(ret)));
RasHangUp(hConnect);
return false;
}
m_nRasStatus = RAS_CONNECTING;
return true;
}
对于以后的事情就应该知道了吧!
那么自动传送文件呢?
你这是用SOCKET实现的是吗?如果用ZMODEM,或者TAPI应该怎么实现?