Socket
装大炮的自行车
做一个无聊人,写无聊的代码。
展开
-
【服务器】简单的C++服务器
简单的C++服务器设置头文件和库文件Winsock的初始化套接字的相关函数创建简单的C++服务器一丶设置头文件和库文件 首先我们导入头文件:WinSock2.h#include <WinSock2.h> 头文件导入后,我们再来导入一个Socket的库文件:ws2_32.lib PS:如果导入这个库文件,那么就出先外部符号错误的信息。 导入方法:项目的属性原创 2017-01-16 20:08:43 · 4978 阅读 · 0 评论 -
IOCP 服务端案例
IOCPEpoll 和 IOCP性能比较 每种操作系统(内核级)都会提供特有的I/O模型以提高性能。其中Linux的Epoll、BSD的Kqueue、Windows的IOCP。它们都是在操作系统级别上提供支持并且完成相关功能。那么问题来了:到底是Epoll优于IOCP 还是后者优于前者呢? 个人认为至少对于目前的我来说,这两种模型都是非常优秀的(因为我也不知道谁更优秀)。个人认为不管是E原创 2017-02-10 02:47:29 · 318 阅读 · 0 评论 -
关于Protobuf For Windows下编译问题以及方法
关于Protobuf For Windows下编译问题以及方法 最近在学习Socket服务端通信,利用到了Protobuf这个工具,但是发现了一个问题,当下载的源码包用CMake直接编译,CMake会报出红色Error,如果继续编译,得到的项目编译成动态库,用在实际项目中就会出现(无法解析外部符号)错误,在链接了lib库的情况下也会出现无法解析外部符号。解决方法: 工具 1原创 2017-02-12 12:59:50 · 1840 阅读 · 2 评论 -
C++服务器之文件传递(半关闭)
C++服务器之文件传递为何使用半关闭:当主机A 向 主机B 传递一份数据时,主机A 调用 closesocket() 断开连接,之后主机A 就无法再接收主机B传输的数据。最终,由主机B传输主机A的必须接收的数据也就销毁了。 优雅的断开Socket 相关函数:int shutdown(int sock,int howto);成功返回0,失败返回-1。sock:套接字描述文件。ho原创 2017-01-26 22:03:39 · 345 阅读 · 0 评论 -
C++服务器之IP与域名转换
程序是使用域名还是直接使用IP 答案很明显,对网络有一定了解的都会知道IP这个是可变的,虽然ISP会维持原有的IP,但是一个程序不能依赖这一点,这将会导致程序的扩展性变低。(如:一个已经开发完成的程序,当仅需要更换IP时,这将导致整个程序的从新编译,而客户端则需要重新下载程序,显而使用域名 DNS来解析则很方便的解决这个问题,而不是整个程序从新编译。)函数:#include <netdb.h>原创 2017-01-27 08:36:40 · 1930 阅读 · 0 评论 -
关于protobuf的一些问题解决思路汇总
一、外界符号问题> 这种情况一般是没有导入LIB库,先去 项目->属性->链接器->常规 选择附加库目录,把protobuf的lib库目录引入进来,一般都会和项目放在一切,然后在VS项目中导入,最后在代码中导入LIB#pragma comment(lib,"Lib\\libprotobuf.lib")#pragma comment(lib,"Lib\\libprotobuf-lite.lib")原创 2017-07-16 13:27:19 · 3210 阅读 · 0 评论