xml地图|网站地图|网站标签 [设为首页] [加入收藏]
谁可以帮忙解释一下这段代码的意思,Socket实现
分类:编程

我用孙鑫的socket知识,做了一个C/S的聊天软件。在实验室的无线网里测试可以正常通信。后来,用QQ把客户端发给我一个外地的同学,测试聊天软件的性能。但是,问题出现了。我的局域网Ip地址是192.168.1.101.我同学的局域网IP也是192.168.1.101.这就导致没法通信。后来,我把我的局域网IP设为192.168.1.102了,还是没法通信。后来,才知道我们的IP地址都仅限于局域网。没有牵涉到外网。我现在很疑惑,莫非SOcket只能识别局域网IP。那样的话,Socket网络通信的意义不就大大折扣了么。。。如何实现,Socket跨外网,与外地同学之间进行通信

voidADOConn::OnInitADOConn(){//初始化OLE/COM库环境::CoInitialize(NULL);try{//创建connection对象//下面语句等效于:m_pConnection.CreateInstance("ADODB.Connection");m_pConnection.CreateInstance(__uuidof(Connection));//设置连接字符串_bstr_tstrConnect="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=WenDGL;DataSource=.\";//SERVER和UID,PWD的设置根据实际情况来设置m_pConnection-Open(strConnect,"","",adModeUnknown);}//捕捉异常catch(_com_errore){//显示错误信息AfxMessageBox(e.Description());}}连接部分的代码,代码本身没有问题,连接可以成功,插入、查询等后续步骤也没什么问题,就是运行缓慢调试后发现m_pConnection-Open(strConnect,"","",adModeUnknown);运行非常慢,要等10多秒才有反应用的是sqlserver2008和vs2010的MFC

voidCLoginDlg::OnOK(){BOOLbLogin=FALSE;CStringstrPasswd,strAuthority;UpdateData();//更新数据变量if(!db.Open(m_strDSN))return;//连接数据库CRecordsetrs(db);rs.Open(CRecordset::forwardOnly,"selectPASSWD,AUTHORITYfromPERSONwhereID='"+m_strUser+"'");if(!rs.IsEOF()){rs.GetFieldValue("PASSWD",strPasswd);rs.GetFieldValue("AUTHORITY",strAuthority);if(strPasswd==CCrypt::Encrypt(m_strPasswd,123)strAuthority=="3"){bLogin=TRUE;//已连接}elseMessageBox("请重新输入密码。n注意大小写!","密码错误");}else{MessageBox("请确认用户名大小写是否正确!","无此用户");}rs.Close();if(bLogin)EndDialog(IDOK);elsedb.Close();//关闭数据库}

本文由澳门新葡亰手机版发布于编程,转载请注明出处:谁可以帮忙解释一下这段代码的意思,Socket实现

上一篇:的xml编辑器该如何开发,opengl如何用顶点数组处 下一篇:关于OpenGL绘制到MFC对话框的疑问,求大神帮忙
猜你喜欢
热门排行
精彩图文