SOCKET编程
文章平均质量分 83
FlowShell
这个作者很懒,什么都没留下…
展开
-
setsockopt()用法
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经转载 2009-10-25 19:57:00 · 713 阅读 · 0 评论 -
完成端口模型
完成端口模型“完成端口”模型是迄今为止最为复杂的一种 I / O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千个套接字的时候,而且希望随着系统内安装的 C P U数量的增多,应用程序的性能也可以线性提转载 2010-03-24 15:46:00 · 880 阅读 · 0 评论 -
Socket粘包问题
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下:一两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一转载 2009-12-18 11:27:00 · 1154 阅读 · 0 评论 -
WSAEventSelect模型
WSAEventSelect模型类似WSAAsynSelect模型,但最主要的区别是网络事件发生时会被发送到一个事件对象句柄,而不是发送到一个窗口。这样可能更加的好,对于服务器端的程序来说。使用步骤如下:a、 创建事件对象来接收网络事件:WSAEVENT WSACreateEvent( void ); 该函数的返回值为一个事件对象句柄,它具有两种工作状态:已传信(signaled)和未传信转载 2010-03-23 16:32:00 · 1826 阅读 · 0 评论 -
封包与拆包
对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包.自从我从事网络通讯编程工作以来(大概有三年的时间了),我一直在思索和改进封包和拆包的方法.下面就针对这个问题谈谈我的想法,抛砖引玉.若有不对,不妥之处,恳求大家指正.在此先谢过大家了.一.为什么基于TCP的通讯程序需要进行封包和拆包.TCP是个"流"协议,所谓流,就是没有界限的一串数据.大家可以想想河里的流水,是连成一转载 2009-12-18 11:36:00 · 1008 阅读 · 0 评论 -
重叠模型
一、 异步IO 说到重叠模型首先还是提一下异步IO比较好,因为从本质上讲,重叠模型也是一种异步IO模型。 我们知道,相对于计算机执行的其他操作而言,设备IO(文件、管道、套接字等)是比较慢的。于是在多线程结构中就考虑到采用异步的方式进行设备读写操作,即我们告诉系统对设备的读写数据,而同时应用程序的其他代码继续执行,直到获取设备操作完毕的系统通知。 在进行异转载 2010-03-23 17:38:00 · 4233 阅读 · 0 评论 -
WINDOWS环境下SOCKET基本函数
(1)WSAStartup函数int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData);使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用第二个参数返回请求的Socket的版本信息。当一个应用程转载 2010-03-23 15:35:00 · 1012 阅读 · 0 评论 -
Select模型
Winsock分别提供了“套接字模式”和“套接字I/O模型”,可对一个套接字上的I/O行为加以控制。注意:“套接字模式”和“套接字I/O模型”是无关的,套接字模型的出现是为了解决套接字模式存在的某些限制。Winsock提供两种套接字模式:锁定和非锁定。套接字I/O模型:Select,WSAAsyncSelect,WSAEventSelect,Overlapped I/O,Completio原创 2010-03-23 15:45:00 · 822 阅读 · 0 评论 -
WSAAsynsSelect模型
Winsock提供了一个有用的异步I / O模型。利用这个模型,应用程序可在一个套接字上, 接收以Windows消息为基础的网络事件通知。具体的做法是在建好一个套接字后,调用 WSAAsyncSelect函数。 异步通知,但不提供异步数据传送。异步数据传送有“重叠及完成端口模型提供”。 要想使用WSAAsyncSelect模型,在应用程序中,首先必须用CreateWindow函数创建一个窗转载 2010-03-23 16:24:00 · 917 阅读 · 0 评论