上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 48 下一页
摘要: WSAAsyncSelect模型是winsock编程模型的一种,它提供了socket异步编程的方便,其实现是基于Windows消息机制的,最主要的就是下面这个函数:1 int PASCAL FAR WSAAsyncSelect (SOCKET s,HWND hWnd,unsigned int wMs... 阅读全文
posted @ 2014-04-13 21:20 冷冰若水 阅读(1152) 评论(0) 推荐(0) 编辑
摘要: 1、服务器端代码 1 #pragma comment(lib, "ws2_32.lib") 2 3 #include 4 #include 5 6 using namespace std; 7 8 bool LoadSockLib() 9 {10 WSADATA wsaData;1... 阅读全文
posted @ 2014-04-13 18:10 冷冰若水 阅读(1100) 评论(0) 推荐(0) 编辑
摘要: 1、使用流式套接字2、使用数据报套接字 阅读全文
posted @ 2014-04-13 16:57 冷冰若水 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 写在前面的话:虽然这段代码中对于指针的使用是不正确的,但是我却在这个不正确的代码中发现了另一个错误,而且深感迷惑,所以打算将此博文推到首页,请各位帮忙回答个问题。在项目中用到了以下一段代码,执行结果有点奇怪,还没有想明白为什么会这样子是在网络编程中用到的,因为需要根据新加入的用户IP和已经存在的用户列表中的用户IP进行比对,来判定该用户是否已经存在,所以就使用了上述办法,但是执行结果出人意料,因为if(0 == strcmp(newIp, oldIp))这行代码永远为真,为什么呢?自己就跟踪代码调试,结果当执行过第二个红线那一行之后,newIp的值也发生了改变,而且newIp和oldIp指向的 阅读全文
posted @ 2014-04-11 12:08 冷冰若水 阅读(873) 评论(4) 推荐(0) 编辑
摘要: 写在前面的话:在MFC的网络编程中,由于现在项目都是使用UNICODE编码,但是网络API的许多函数却只能接受const char*的参数,所以经常会遇到需要将char*转换为TCHAR*的时候,有一个函数可以实现,但是用起来比较麻烦,所以自己就对它进行了封装,形成自己的函数,记下来,以备后用。函数... 阅读全文
posted @ 2014-04-10 11:50 冷冰若水 阅读(2162) 评论(0) 推荐(0) 编辑
摘要: 〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效。〖14〗-存储器不足,无法完成此操作。〖15〗-系统找不到指定的驱动器。〖16〗-无法删除目录。〖17〗-系统无法将文件移到不同的驱动器。〖18〗-没有更多文件。〖19〗-介质受写入保护。〖20〗-系统找不到指定的设备。 〖21〗-设备未就绪。 〖2 阅读全文
posted @ 2014-04-09 22:47 冷冰若水 阅读(566) 评论(0) 推荐(0) 编辑
摘要: C++中类的构造函数的调用有四种形式C++中对象的实例化有四种情况:1、调用默认构造函数。2、隐式调用构造函数3、显示调用构造函数4、使用new操作符如图所示,前三种在对象的作用域之外就会被系统自动销毁,调用析构函数。最后一个必须显示的使用delete来释放内存,但是需要注意的是,delete只是释放了指针指向的内存,但是指针依然指向那个地址,所以释放内存之后应该把指针设为NULL。 阅读全文
posted @ 2014-04-03 21:46 冷冰若水 阅读(1613) 评论(0) 推荐(0) 编辑
摘要: 我对C++的一些疑问,最近使用C++,总感觉有些东西自己没有抓住,也可能是自己基础学的不是很扎实,所以对一些基本的东西理解不够透彻导致的。因为自己在学校也学过C#和java,C#它是一个完全的面向对象的语言,所以没有这么麻烦,在C#中除了基本的几种值类型,其他的一切都是对象,都是Object的子类。我的疑问如下:1、在C#中对象声明并不开辟存储空间,直到调用类的构造函数显示的初始化对象,之后才会开辟空间,而在C++中,对象声明之后就会自动调用默认构造函数,这样,是不是已经开辟了存储空间了呢?自己的回答:C++中调用构造函数有几种方式,如 Point p;此时,会自动调用类Point的默认构造函 阅读全文
posted @ 2014-04-01 22:36 冷冰若水 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1、socket编程首先要做的就是加载库,有两种方法:1.不需要加载库文件if(!AfxSocketInit()) { AfxMessageBox("加载套接字库失败!"); return false; }如果是VC++编程的程序,此代码片需要放在App类的I... 阅读全文
posted @ 2014-03-31 22:08 冷冰若水 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 主要是两个函数的使用,gethostname();、gethostbyname();自定义两个函数GetLocalHostName获取计算机名、GetIPAddress获取IP地址 1 int CIPDlg::GetLocalHostName(CString &strHostName) 2 { 3 char szHostName[256]; 4 int nRetCode; 5 nRetCode = gethostname(szHostName, sizeof(szHostName)); 6 if(nRetCode != 0) 7 { 8 ... 阅读全文
posted @ 2014-03-30 17:53 冷冰若水 阅读(1162) 评论(0) 推荐(0) 编辑
上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 48 下一页