gumingyaotangwei 的专栏

游戏架构,游戏引擎,游戏服务器,设计(C/C++),数据库,算法,电信协议,多媒体...

关于 window c++ 编译 soket 重复定义的问题

在编译器中加上 _WINSOCKAPI_ 宏

2015-11-04 21:06:25

阅读数:563

评论数:0

网络编程(转)<下>

设置和获得套接口选项 获得套接口选项 int getsockopt ( int sockfd, int level, int optname, void * optval, socklen_t *opteln ) 设置套接口选项:   int setsockopt ( int sock...

2013-04-09 15:31:36

阅读数:641

评论数:0

网络编程(转)<上>

Socket简介 BSD Socket接口是TCP/IP网络的API 在Linux,Unix和Windows均实现这个接口.BSD Socket的是目前开发网络应用主要接口.绝大部分网络应用均可Socket来开发 一个Socket队列是IP应用的基本单位.两个机器通讯相当于两个机器的两个So...

2013-04-09 15:30:50

阅读数:1117

评论数:0

socket通讯原理以及tcp、ip三次握手机制分析

要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。 对于网络编程,...

2012-12-04 02:34:30

阅读数:2819

评论数:0

TCP协议三次握手过程分析

TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) ...

2012-12-04 02:17:22

阅读数:845

评论数:0

浅谈过载保护

雪球:对于时延敏感的服务,当外部请求超过系统处理能力,如果系统没有做相应保护,可能导致历史累计的超时请求达到一定规模,像雪球一样形成恶性循环。由于系统处理的每个请求都因为超时而无效,系统对外呈现的服务能力为0,且这种情况下不能自动恢复。 作者bison,腾讯后台开发技术总监。   过载保护,看...

2012-05-14 16:10:55

阅读数:2197

评论数:0

设置socket缓冲区大小

socket发送数据时候先把数据发送到socket缓冲区中,之后接受函数再从缓冲区中取数据,如果发送端特别快的时候,缓冲区很快就被填满(socket默认的是1024×8=8192字节),这时候我们应该根据情况设置缓冲区的大小,可以通过setsockopt函数实现     int setsoc...

2012-04-01 14:26:54

阅读数:977

评论数:0

select(),fd_set,FD_SET,FD_CLR,FD_ZERO,FD_ISSET的用法

本文大致记录一下我对socket编程中的select()方法,类型fd_set以及FD_SET、FD_ZERO、FD_CLR、FD_ISSET这些宏的用法的了解, 有不当的地方,请指出。 1 select 在socket编程中,select的字面意思就是选择,也就是选择出那些可读或可写或出错...

2012-04-01 14:22:30

阅读数:3185

评论数:1

Socket select FD_ISSET

DESCRIPTION    The functions gettimeofday and settimeofday can get and set the time as     well as a timezone. The tv argument is a timeval struct...

2012-04-01 14:03:21

阅读数:6308

评论数:0

很幽默的讲解六种Socket I/O模型C++程序设计

本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect模型 四:Overlapped I/O 事件通知模型 五:Overlapped I/O ...

2012-03-31 19:32:41

阅读数:2345

评论数:0

setsockopt设置socket状态

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeo...

2012-03-31 13:50:35

阅读数:579

评论数:0

网卡的模式

改变模式需用程序实现如Sniffer类的软件一般都采用将网卡设置成混杂模式来获取数据包,设为混杂模式之后,因为网卡会接收所有能够接收到的数据,所以这个时候的数据量非常大,所以在设置为混杂模式同时,一般要设置过滤条件。sniffer之类的软件将网卡设置为混杂模式,只是供自己监听数据(根据用户的要求自...

2012-03-31 13:49:28

阅读数:1447

评论数:0

套接字选项和I/O控制命令

套接字选项和I/O控制命令    套接字一旦建立,通过套接字选项和I/O控制命令对各种属性进行操作,便可对套接字的行为产生影响。有的选项只用于信息的返回,而有的选项则可在应用程序中影响套接字的行为。I / O控制命令肯定会对套接字的行为产生影响。    下面着重讨论四个Winsock函数:ge...

2012-03-31 12:53:42

阅读数:885

评论数:0

IOCP在服务器开发中的应用

引言 基于Socket的网络通信服务已经使用得相当普遍,然而一个服务器应用程序,假如不能够同时为多个客户端提供服务,那它就没有什么意义可言。针对一个服务器应用程序底层通信模块的设计,要使其在给定的时间内同时控制几个套接字,采用重叠的I/O机制是比较好的,但是要求服务器在任何给定时间内都会为海...

2012-03-31 12:09:19

阅读数:3118

评论数:1

流量控制和拥塞控制

拥塞(Congestion)指的是在包交换网络中由于传送的包数目太多,而存贮转发节点的资源有限而造成网络传输性能下降的情况。拥塞的一种极端情况是死锁(Deadlock),退出死锁往往需要网络复位操作。 流量控制(Flow Control)指的是在一条通道上控制发送端发送数据的数量及速度使其不...

2012-03-06 15:23:39

阅读数:503

评论数:0

WaitForMultipleObjects

DWORD WaitForMultipleObject(DWORD dwCount , CONST HANDLE* phObject, BOOL fWaitAll, DWORD dwMillisecinds);   dwCount参数用于指明想要让函数查看的内核对象的数量。这个值必须在1...

2012-03-06 11:03:46

阅读数:6324

评论数:0

Socket一些函数相关的返回值

若无错误发生,recv()返回读入的字节数。如果连接已中止,返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。 如无错误发生,listen()返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLast...

2012-03-06 10:56:30

阅读数:2100

评论数:0

跨平台网络库的设计

近期在开发一个跨平台的网络库,其目的是为了封装网络底层细节,对外提供一个简易的接口,在这里记载一下设计思路。     网络游戏服务器通常需要2种网络IO:一种是面向大量客户端连接的高连接数的网络IO,一种是服务器间的低连接数,高吞吐量的网络IO,后一种网络IO比较简单,可采取阻塞

2011-07-18 00:19:47

阅读数:2507

评论数:0

torque 碰撞检测盒

bool SceneObject::collideBox(const Point3F &start, const Point3F &end, RayInfo *info){   const F32 * pStart = (const F32*)start;   const F32 ...

2010-03-25 18:52:00

阅读数:486

评论数:0

C++中模板类使用友元模板函数

问题始于学习数据结构,自己编写一个单链表,其中用到了重载输出运算符template class List{    friend std::ostream& operator & slist);    //……};用vs2008可编译,但无法链接:无法解析的外部符号……后来上网查改...

2010-03-25 16:49:00

阅读数:664

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭