现在位置: 首页 > 网络编程
2013-07-22 22:17 工业·编程 ⁄ 共 328字 暂无评论
在IP地址中的全1地址表示仅在本网络上(就是你这个主机所连接的局域网)进行广播。这种广播叫做受限的广播(limited broadcast) 如果net-id是具体的网络号,而host-id是全1,就叫做定向广播(directed broadcast),因为这是对某一个具体的网络(即net-id指明的网络)上的所有主机进行广播的一种地址。 对于192.168.1.25/24的网段 IP地址全0,即0.0.0.0为本地主机 IP地址全1,即255.255.255.255为本地广播(可能有几个不同的网段...
阅读全文
TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得 注意的状态有两个:CLOSE_WAIT和TIME_WAIT。  1、LISTENING状态 FTP服务启动后首先处于侦听(LISTENING)状态。...
阅读全文
一。传输层的主要功能是什么?  分割并重新组装上层提供的数据流,为数据流提供端到端的传输服务。   二。传输层如何区分不同应用程序的数据流?   因为,对应传输层而言,它只需要知道目标主机上的哪个服务程序来响应这个程序,而不需要知道这个服务程序是干什么的。因此,我们只需要能够抽象的表示出来这些应用程序和服务程序即可。我们使用端口号来抽象标识每个网络程序。   传输层的TCP和UDP可以接...
阅读全文
1、设计模式;       IO收发线程与EMPLOY任务线程必须分离设计,否则如果只考虑IO线程来处理所有事情的话,一旦出现某个业务接口运行较慢,势必造成对IO网络的堵塞,那么这样的后台服务又有什么用呢?       EMPLOY任务线程指派算法,要看具体业务来定,如果所有业务实现数据传输量大小差不多,反应时间长短都差不多的话,可以采取平均顺序分配的方式,否则可以按照业...
阅读全文
客户端在Connect之前没有进行bind()操作或者bind的端口是0。系统会随机分配端口范围(1024~5000).也就是在上述情况下最多开启3976个客户端连接。 原因: win2k缺省的出站连接的临时端口为1024-5000,要想使用更多的出站端口需要修改注册表。 修改方式: 在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ 项下建一个 MaxUserPort 双字节值, 例如:取值为10000时,大约有9000个...
阅读全文
2013-07-21 21:55 工业·编程 ⁄ 共 1152字 暂无评论
此选项指定函数close对面向连接的协议如何操作(如TCP)。内核缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数据发送给对方。 SO_LINGER选项用来改变此缺省设置。使用如下结构: struct linger {      int l_onoff; /* 0 = off, nozero = on */      int l_linger; /* linger time */ }; 有下列三种情况: 1、设置 l_onoff为0,则该选项关闭,l_linger...
阅读全文
2013-07-21 21:46 工业·编程 ⁄ 共 10811字 暂无评论
要想彻底征服IOCP,并应用好IOCP这个模型,首先就让我们穿越到遥远的计算机青铜器时 代(以出现PC为标志),那时候普通的PC安装的还是DOS平台,微软公司主要靠这个操作系统在IT界的原始丛林中打拼,在DOS中编写程序,不得不与很 多的硬件直接打交道,而最常操作的硬件无非是键盘、声显卡、硬盘等等,这些设备都有一个特点就是速度慢,当然是相对于PC平台核心CPU的速度而言,尤其 是硬盘这个机械电子设备,其速度对于完全电子化...
阅读全文
2013-07-20 21:39 工业·编程 ⁄ 共 728字 暂无评论
所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。 短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。  比如http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。 其实长连接是相对于通常的短连接而说的,...
阅读全文
2013-07-19 21:36 工业·编程 ⁄ 共 691字 暂无评论
    在协议栈中,传输层位于网络层之上,传输层协议为不同主机上运行的进程提供逻辑通信(提供端到端服务),而网络层协议为不同主机提供逻辑通信(提供点到点服务)。这个区别很微妙,但是却非常重要。让我们用一家人作为类比来说明一下这个区别。     设想一下有两所房子,一个位于东海岸而另一个位于西海岸,每所房子里都住着12个小孩。东海岸的房子里的小孩和西海岸房子里的小孩是堂兄妹。两...
阅读全文
2013-06-11 05:23 工业·编程 ⁄ 共 864字 暂无评论
struct  sockaddr { unsigned short int  sa_family; /* address family, AF_xxx */ char sa_data[14];  /* address */ }; sa_family是地址家族,是“AF_xxx”的形式。常设为“AF_INET”,代表Internet(TCP/IP)地址族。 sa_data是协议地址,由sa_family决定。如果sa_family=AF_INET,则sa_data就是sockaddr_in的sin_addr和sin_port。换句话说,这时sockaddr可以当作sockaddr_in看。 struct  sockadd...
阅读全文