网络编程
文章平均质量分 74
afrish
一步一步开始,学习一路漫长
展开
-
Socket 的 Send Recv 的长度问题?
一个包没有固定长度,以太网限制在46-1500字节,1500就是以太网的MTU,超过这个量,TCP会为IP数据报设置偏移量进行分片传输,现在一般可允许应用层设置8k(NTFS系统)的缓冲区,8k的数据由底层分片,而应用层看来只是一次发送。windows的缓冲区经验值是4kSocket本身分为两种,流(TCP)和数据报(UDP),你的问题针对这两种不同使用而结论不一样。甚至还和你是用阻塞、还是非阻塞转载 2008-05-22 17:41:00 · 778 阅读 · 1 评论 -
WINDOWS网络编程技术 读书笔记
名字注册和解析名字注册和解析模型,与协议无关,把IP地址和名字相关联起来,Winsock服务器地址也可通过服务,把地址注册自己的服务器,用户方便查找,最常用的名字空间1、 针对IP的DNS(静态名字空间)2、 针对IPX的NDS(固定名字空间)IPX: Internetwork Packet Exchange(网间数据包交换)已或支持的名字空间:N S _ S A P 1 S A P名字空间原创 2009-04-13 00:23:00 · 442 阅读 · 0 评论 -
集群式游戏服务器架构方案设计开发
集群式游戏服务器架构方案设计开发自从2003年开发VOIP Radius Server以及修改Gnugk依赖,从事服务器开发已经近五年了,对服务器开发也有一些自己独到的看法以及见解。当摆脱了技术本身的束缚之后,才理解重要的并不是某种技术的运用,而是整体设计的考虑,也慢慢明白了设计是开发的灵魂的道理。从技术层面来看,各个平台都有一些自己特有的东西,比如Windows 平台下面的IOCP技术,可以说为转载 2009-04-12 15:37:00 · 1264 阅读 · 0 评论 -
QQ游戏百万人同时在线服务器架构实现
转帖------作者:Bloghttp://blog.csdn.net/sodmeQQ游戏于前几日终于突破了百万人同时在线的关口,向着更为远大的目标迈进,这让其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是QQ的对手,因为QQ除了这100万的游戏在线人数外,它还拥有3亿多的注册量(当然很多是重复注册的)以及QQ聊天软件900万的同时在线率,我们已经可以预见未来由QQ构建起来的转载 2009-04-12 10:24:00 · 403 阅读 · 0 评论 -
特殊的IP地址介绍
来源:中国协议分析网 作者: 编辑:shaoping就像我们每个人都有一个身份证号码一样,网络里的每台电脑(更确切地说,是每一个设备的网络接口)都有一个ip地址用于标示自己。我们可能都知道这些地址由四个字节组成,用点分十进制表示以及它们的a,b,c分类等,然而,在总数大约为四十多亿个可用ip地址里,你知道下面一些常见的有特殊意义地址吗?我们一起来看看吧: 一、0.0.0.0 严格说来,0转载 2009-04-14 23:12:00 · 218 阅读 · 0 评论 -
对IP首部检验和的理解
很多文章对ip首部检验和的计算介绍得很简略,在理解上常常会比较困难。这篇文章是我自己的一些理解。或许也有不正确的地方,希望大家指正。这个问题一直困绕了我很长时间,今天终于理解了。 我们可以通过spynet sniffer抓包软件,抓取一个ip数据包进行分析研究。 下面我以本机抓到的一个完整的ip首部为例(红色字体表示): 0000: 00 e0 0f 7d 1e ba 00转载 2009-04-14 23:04:00 · 366 阅读 · 0 评论 -
Windwos 网络编程 命名管道与邮槽的比较(新手篇)
在上一篇写了一些关于邮槽的内容,刚看了命名管道之后,谈一谈他们之间的区别与联系 邮槽:只允许从客户端发送到服务器,没有可靠性保证,根据广播通信体系所设计,使用邮槽可以建立不可靠的单向数据传输。其优点就是可以很方便的向一个或者多个服务器广播消息 消息管道(Message Pipe)用于设置应用程序间的一条永久通讯通道,通过该通道可以象自己的应用程序访问一个平面文件一样读写数据。原创 2009-03-28 21:36:00 · 612 阅读 · 0 评论 -
WinSocket 函数解析(新手篇)(一)
1、WSAStartup 函数结构: Int WSAStartup(WORD wVersionRequested, LPWSDATA lpWSAData) 作用: 载入合适的Winsock动态链接库 参数解析: wVersionRequested:指定加载的WinSocket版本信息,window原创 2009-03-29 23:53:00 · 551 阅读 · 0 评论 -
网络原理和协议(新手篇)
协议的一些特性: 1、 面向消息:网络之间传输的就是消息,通过消息进行通信 2、 面向连接和无连接: a) 连接(TCP):必须先建立连接后才能进行通信,即上一条消息通信 b) 无连接(UDP):不管三七二十一发消息发过去就好了,不关心客户端能否接到到发出的信息,发 邮件即使如此,网那个地址发就好了 3、 可靠性和次序性:原创 2009-03-29 23:01:00 · 326 阅读 · 0 评论 -
异步重叠IO的实现原理 (新手篇)
异步重叠IO的实现原理 原理图: 重叠IO实现异步,主要是利用重叠的命名,加上事件的同同步 在使用重叠I/O时,线程需要创建OVERLAPPED结构以供I/O处理。该结构中最重要的成员是hEvent,它是作为一个同步对象而存在,如果hEvent为NULL,那么此时的同步对象即为原创 2009-03-28 23:32:00 · 1001 阅读 · 0 评论 -
WINDOWS网络编程技术 NETBOIS (新手篇)
“网络基本输入/输出系统”(Network Basic Input/Output System, NetBIOS)是一种标准的应用程序编程接口( A P I),1 9 8 3年由S y t e k公司专为I B M开发成功。N e t B I O S为网络通信定义了一种编程接口,但却没有详细定义物理性的“帧”如何在网上传输。 LANA编号 (LAN adapter, L原创 2009-03-25 21:25:00 · 328 阅读 · 0 评论 -
ACE_Select_Reactor的Notify功能实现浅析
来至:http://www.jiazi.cn/web/?9240/viewspace-304作者: ydogg 1. 前言本文关注平台为Win32, 但在其它的类Unix平台,就实现框架而言并没有太多变化,惟一不同的是用于底层机制的ACE_Pipe的实现。但是,为了解决某些特别的原因,如大量的通知存储、规避悬空处理器指针等,ACE也提供了一种有别于Pipe的解决方案,其采用消息转载 2008-12-17 23:22:00 · 496 阅读 · 0 评论 -
ACE_Select_Reactor 之 管道通信 Pipe
ACE_Select_Reactor 基于ACE_Pipe实现,为此了解了下Pipe通信编程命名管道的连接和通讯采用如下方式: * 在服务器端第一次创建命名管道后等待连接,当客户端连接成功后服务器端的命名管道就用作通讯用途。如果需要再次等待连接,服务器端就需要再次打开命名管道(创建一个命名管道的实例)并等待连接。 * 对于转载 2008-12-16 23:55:00 · 457 阅读 · 0 评论 -
ACE介绍
ACE作为通讯方面的开源架构,不但用c++实现,而且用JAVA实作的架构已经可以使用了,由此看来掌握ACE成为每个开发通讯程序的程序员的必备技能。ACE的库分为4个层次: OS适配层 该层将ACE的较高层和与OS机制相关联的平台特有的依赖屏蔽开来。 OO包装层 封装并增强在像Win32和UNIX这样的现代操作系统上可用的并发、进程间通信(IPC)、以及虚拟内存机制。转载 2008-12-16 22:30:00 · 348 阅读 · 0 评论 -
Windows Socket API 使用经验
本文是我在进行MS-Windows、HP-Unix网络编程的实践过程中总结出来的一些经验,仅供大家参考。本文所谈到的Socket函数如果没有特别说明,都是指的Windows Socket API。一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData );转载 2008-05-22 17:47:00 · 178 阅读 · 0 评论 -
TCP定时器详解
一、TCP协议1、TCP 通过以下方式提供可靠性: ◆ 应用程序分割为TCP认为最合适发送的数据块。由TCP传递给IP的信息单位叫做报文段。 ◆ 当TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能记时收到一个确认,它 就重发这个报文段。 ◆ 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常延迟几分之一秒。 ◆ TCP将保持它首部和转载 2009-05-06 23:56:00 · 367 阅读 · 0 评论