- 博客(13)
- 资源 (13)
- 收藏
- 关注
转载 关闭Socket的正确方式及ECONNRESET,WSAECONNRESET产生的原因
ECONNRESET是linux环境网络编程产生的错误,错误码为104,WSAECONNRESET是windows环境网络编程产生的错误,错误码为10054两者产生的原因都一样,分以下几种情况: - 接收端recv或者read, 对端已经关闭连接,recv/read返回该错误 - 对端重启连接,还未建立连接 - 发送端已经断开连接,但是调用send会触发这个错误 第二点第三点都...
2018-02-28 22:05:39 11288
转载 Socket编程5种模型——以代码说明一切,hhhhh
我会以一个回应反射式服务器(与《Windows网络编程》第八章一样)来介绍这五种I/O模型。我们假设客户端的代码如下(为代码直观,省去所有错误检查,以下同): #include <WINSOCK2.H>#include <stdio.h>#define SERVER_ADDRESS "137.117.2.148"#define PORT ...
2018-02-28 21:30:27 554
转载 socket编程五种模型—主讲原理,代码较少
客户端:创建套接字,连接服务器,然后不停的发送和接收数据。 比较容易想到的一种服务器模型就是采用一个主线程,负责监听客户端的连接请求,当接收到某个客户端的连接请求后,创建一个专门用于和该客户端通信的套接字和一个辅助线程。以后该客户端和服务器的交互都在这个辅助线程内完成。这种方法比较直观,程序非常简单而且可移植性好,但是不能利用平台相关的特性。例如,如果连接数增多的时候(成千上万的连接),...
2018-02-28 17:46:06 3221
转载 浅谈CC++内存泄漏及其检测工具
导语 对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中...
2018-02-28 12:04:18 271
转载 C++生成dump文件,调试dump文件
1.生成Dump文件 Dump 文件是进程的内存镜像 , 可以把程序的执行状态通过调试器保存到dump文件中 ; Dump 文件是用来给驱动程序编写人员调试驱动程序用的 , 这种文件必须用专用工具软件打开 , 比如使用 WinDbg , VisualStudio打开; 当我们的程序发布出去之后 , 在客户机上是无法跟踪自己代码的 BUG 的 , 所以 Dump 文件对于我们来说特别...
2018-02-28 11:02:56 2433
转载 判断机器大小端的两种实现方法
大端模式(Big-endian): 指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 小端模式(Little-endian): 指数据的低位保存在内存的低地址中,而数 据的高位保存在内存的高地址中,和我们的逻辑方法一致。 判断大小端方法 ...
2018-02-27 23:04:46 133
转载 Visual Studio 代码生成 运行时库的选择
运行时库的选项有:多线程(/MT)、多线程调试(/MTD)、多线程DLL(/MD)、多线程调试(/MDd) 有时调用外部的一些库,这个选择不对,老编译不通过; C运行时库 库文件 single thread(static link) ML libc.lib debug single thread(static link) MLd libcd.lib...
2018-02-24 21:02:18 1401
原创 获取CPU核心个数
#include <windows.h>#include <stdio.h>int main(){ SYSTEM_INFO si; GetSystemInfo(&si); int m_nProcessers = si.dwNumberOfProcessors; printf("CPU 核心数目:%d\n", m_nProces...
2018-02-22 11:23:09 382
转载 C++ 虚函数表
class A {public: virtual void vfunc1(); virtual void vfunc2(); void func1(); void func2(); virtual ~A();private: int m_data1, m_data2;}; class B : A {public: virtual ...
2018-02-21 21:57:00 169
转载 MFC编辑框自动换行,垂直滚动条自动下移
1.新建一个编辑框控件(Edit Control),将其多行(Multiline)前面打勾(属性设置为True),Auto HScroll前面的勾去掉(属性设置False),这样就可以实现每一行填满后自动换行了。2.再将垂直滚动条(Vetrical Scroll)前面打勾(属性设置为True),当输入或显示超过编辑框的大小后就会出现垂直滚动条。3.如果是输入,滚动条会自动移动跟随到当前输入...
2018-02-20 23:13:39 415
转载 Windows下安装PHP开发环境
Windows下安装PHP开发环境一、Apache 因为Apache官网只提供源代码,如果要使用必须得自己编译,这里我选择第三方安装包Apache Lounge。 进入Apachelounge官方下载地址:http://www.apachelounge.com/download/ 首先下载并安装vc redist,这是Apache运行必需的一个组件。下载Apache解压版,将
2018-02-04 18:57:15 288 2
转载 网络传输----结构体还是序列化?
虽然,网络编程里面的数据传送推荐用序列化,但我不用,还是选择结构体(返璞归真),有以下几点理由:1.跨平台问题:序列化确实可以很好的跨语言平台,可大多数网络游戏不需要跨语言平台2.别以为有了序列化就不需要结构体表面上序列化代码量小,按顺序读和写char int short LPCSTR … 就好,逻辑对象写不写都无所谓,那就是大错而特错了 待序列化的对象发送前的结构还是不可省
2018-02-04 15:31:42 2028
原创 VS2013 MFC 设置组
VS2013 设置组 第一步,进入对话框内,点开格式->tab键顺序,也可以直接按 ctrl+D,表示出每个控件的Tab键顺序,把需要在一组的控件调成连续的数字。 第二步,把要做第一个组的控件的group属性设成True,接下来和它同一组的控件的group属性设为False。直到第二个组开始,第二个组的第一个控件的group属性也设置为True,接下来属于第二组的控件的group属性设
2018-02-03 17:01:06 450
网络编程之发送结构体.zip
2020-03-07
9.12 key,亲测可用
2018-03-17
VA and vsVIM 打包下载
2016-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人