
网络编程
ljx0305
这个作者很懒,什么都没留下…
展开
-
socket编程原理
socket编程原理 1 问题的引入 UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”以传输数据原创 2008-07-17 13:59:00 · 787 阅读 · 0 评论 -
ip地址,子网,VLSM 基础知识
初学者必看:ip地址,子网,VLSM在理解子网掩码的概念之前我们先来理解一下IP地址这个概念:1,什么是IP地址2,IP地址的分类3,IP地址的寻址原则1,什么是IP地址 我们知道互联网是全世界范围内的计算机联为一体而构成的通信网络的总称。联在某个网络上的两台计算机之间在相互通信时,在它们所 传送的数据包里都会含有某些附加信息,这些附加信息就是发送数据的计算机的地址(源IP)和接受数转载 2010-04-02 09:15:00 · 1625 阅读 · 0 评论 -
accept函数
accept函数SOCKET accept( SOCKET s, struct sockaddr FAR *addr, int FAR *addrlen ); 服务程序调用accept函数从处于监听状态的流套接字s的客户连接请求队列中取出排在最前的一个客户请求,并且创建一个新的套接字来与客户套接字创建连接通道,如果连接成功,就返回新创建的套接字的描述符,以后与客户套接字交换数据的是新创建的套接转载 2010-02-04 22:42:00 · 1280 阅读 · 0 评论 -
使用epoll进行高性能网络编程
epoll和其他技术的性能比较. 翻译:韩红军。hanhj@vrlab.buaa.edu.cn ; hongjun_han@163.com原文出自:https://www.captech.com.cn英文原文:http://www.xmailserver.org/linux-patches/nio-improve.html 由于水平有限,错误在所难免,希望各位指正。 07-01-2001 –转载 2009-08-25 23:06:00 · 1183 阅读 · 0 评论 -
WinSocket模型的探讨——select模型
查找了很多资料都找不到select模型的详细用法,《Windows网络编程》这本书上也只是写了一个简单的回应服务器,就连writefds的用法都没讲,也不知道什么时候利用“可写”来发文件。这些都是我的疑问,相信很多研究网络编程的同路人也碰到了我的这些问题。这些疑问在这篇文章中都解决了!耗费了偶很多的精力去猜测去思考! 感觉一些已经得道的高人都不肯把这些问题说透彻点,唉,只能靠自己去摸索了转载 2009-04-06 10:24:00 · 1233 阅读 · 0 评论 -
完成端口的原理
完成端口(I/O completion):异步过程调用(apcs)问题: 只有发overlapped请求的线程才可以提供callback函数(需要一个特定的线程为一个特定的I/O请求服务)。 完成端口(I/O completion)的优点: 不会限制handle个数,可处理成千上万个连接。I/O completion port允许一个线程将一个请求暂时保存下来,由另转载 2009-04-06 09:47:00 · 1133 阅读 · 0 评论 -
WinSocket模型的探讨——完成端口模型(一)
众所皆知,完成端口是在WINDOWS平台下效率最高,扩展性最好的IO模型,特别针对于WINSOCK的海量连接时,更能显示出其威力。其实建立一个完成端口的服务器也很简单,只要注意几个函数,了解一下关键的步骤也就行了。这是篇完成端口入门级的文章,分为以下几步来说明完成端口: 函数 常见问题以及解答 步骤 例程 1、函数:我们在完成端口模型下会使用到的最重要的两原创 2009-04-06 10:26:00 · 1162 阅读 · 0 评论 -
Windows系统编程之异步I/O和完成端口
标 题: Windows系统编程之异步I/O和完成端口作 者: 北极星2003时 间: 2006-07-02 18:46 链 接: http://bbs.pediy.com/showthread.php?threadid=28342 详细信息: Windows系统编程之异步I/O和完成端口【作者】北极星2003【来源】看雪技术论坛(bbs.pediy.com) 【时间】2006年7月转载 2009-04-06 09:54:00 · 1496 阅读 · 0 评论 -
端口技术 GetOverlappedResult
早在两年前我就已经能很熟练的运用完成端口这种技术了,只是一直没有机会将它用在什么项目中,这段时间见到这种技术被过分炒作,过分的神秘化,就想写一篇解释它如何工作的文章.想告诉大家它没有传说中的那么高深难懂!有什么错误的地方还请高人指正.转载请注明出处及作者,谢谢!以一个文件传输服务端为例,在我的机器上它只起两个线程就可以为很多个个客户端同时提供文件下载服务,程序的性能会随机器内CPU个数的增加而转载 2008-07-02 16:39:00 · 1469 阅读 · 0 评论 -
Socket编程指南及示例程序
Socket编程指南及示例程序 例子代码就在我的博客中,包括六个UDP和TCP发送接受的cpp文件,一个基于MFC的局域网聊天小工具工程,和此小工具的所有运行时库、资源和执行程序。代码的压缩包位置是http://www.blogjava.net/Files/wxb_nudt/socket_src.rar。1 前言在一些常用的编程技术中,Socket网络编程可以说是最简单原创 2008-05-31 22:02:00 · 1384 阅读 · 0 评论 -
关于SO_REUSEADDR的使用说明
考WINDOWS 网络编程技术 1. 可以对一个端口进行多次绑定,一般这个是不支持使用的; 2. 对于监听套接字,比较特殊。如果你定义了SO_REUSEADDR,并且让两个套接字在同一个端口上进行接听,那么对于由谁来ACCEPT,就会出现歧义。如果你定义个SO_REUSEADDR,只定义一个套接字在一个端口上进行监听,如果服务器出现意外而导致没有将这个端口释放,转载 2008-08-04 08:43:00 · 1069 阅读 · 0 评论 -
Linux环境下的Socket编程
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特转载 2008-07-30 15:51:00 · 718 阅读 · 0 评论 -
完成端口使用总结
前言 本文不是全面介绍完成端口的,只是简单介绍了一下完成端口和几个常用概念。本文主要关注完成端口关闭时资源释放问题。基础介绍 完成端口——可能是Win32下最复杂的一种I/O模型,Win32下最复杂的内核对象。它通过指定数量的线程对重叠I/O请求进行管理,以便为已经完成的I/O请求提供服务,相对其它I/O模型,它管理任意数目I/O套接字。假若一个应用程序同时需要管理为数众原创 2008-07-30 13:39:00 · 936 阅读 · 0 评论 -
网络字节序和主机字节顺
NBO与HBO 网络字节顺序NBO(Network Byte Order):按从高到低的顺序存储,在网络上使用统一的网络字节顺序,可以避免兼容性问题。主机字节顺序(HBO,Host Byte Order):不同的机器HBO不相同,与CPU设计有关计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet上数据以高位字节优先顺序在网络上传输,所以对于在内部是以低位字节优先方转载 2008-07-30 11:51:00 · 1225 阅读 · 0 评论 -
setsockopt 设置socket
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历TI转载 2008-07-30 11:17:00 · 746 阅读 · 0 评论 -
捕捉到socket相关函数的错误
如果想捕捉到socket相关函数的错误,可以用下面的语句:fprintf(stderr,"Sendmsg failed. errno : %s/n",strerror(errno)); 错误信息就会显示出来了。转载 2008-07-23 11:31:00 · 844 阅读 · 0 评论 -
socketpair的使用
socketpair函数概要如下:#include #include int socketpair(int domain, int type, int protocol, int sv[2]);sys/types.h文件需要用来定义一些C宏常量。sys/socket.h文件必须包含进来定义socketpair函数原型。socketpair函数需要四个参数。他们是:套接口的域套接口类型使用的协议指转载 2008-07-23 10:57:00 · 1816 阅读 · 0 评论 -
epoll学习笔记
epoll学习笔记 epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT).在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的select/poll操作,只要还有没有处理的事件就会一直通知.以代码来说明问题:首先给出server的代码,需要说明的是每次accept的连接,加入转载 2012-10-21 15:57:55 · 783 阅读 · 0 评论