




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十九章封面界面选项, 第19章套接口选项19.1集接口选项19.1.1 sol _ socket 19.1.2 IP proto _ IP 19.2广播19.2.2广播消息发送19.3多播1 一个是布尔选项,允许或禁止一个特性;另一个是格式化或结构选项。 允许将optval指向非零格式的布尔选项选项禁止指定optval等于零的格式。 对于布尔选项,optlen为sizeof(int ); 在其他选项中,optval是指包含所需选项的整形数或结构,而optlen是指整形数或结构的长度。 19.1集界面选项(setsockopt ),简单:设置集界面选项。 包括设置套接字(套接字、插入级别、插入
2、选项名称、计算机故障*选项、插入选项); s :识别接口集的说明文。 级别:可选定义的层次当前仅支持SOL_SOCKET级别和IPPROTO_TCP级别。 optname :要设置的选项。 optval :指向存储可选值的缓冲区的指针。 optlen:optval缓冲区的长度。19.1集界面选项(setsockopt )、注释: setsockopt ()函数用于任何类型、任何状态的集界面的设置选项值。 在不同的协议级别有选项,但此函数仅定义了“接口”级别最高的选项。 选项会影响集接口的行为,例如是否在正常数据流中接收到紧急数据,是否从集接口发送广播数据等。 19.1集接口选项(setsock
3、opt )和setsockopt ()支持以下选项: 其中“类型”表示optval指向的数据类型。19.1集接口选项(setsockopt )、门限值:如果没有发生错误,则setsockopt ()返回0。 否则,返回SOCKET_ERROR错误,应用程序可以从WSAGetLastError ()获取相应的错误代码。19.1集接口选项(setsockopt )、错误代码: WSANOTINITIALISED :在使用此API之前,必须成功调用WSAStartup ()。 wsaenetdown :实现windows套接字接口时检测到网络子系统故障。 WSAEFAULT:optval不是进程地址
4、空间的有效部分。 WSAEINPROGRESS :正在执行被阻止的WINDOWS集界面调用。 WSAEINVAL:level值不正确,或者optval的信息不正确。 如果设置了wsaenetreset:so_keepalive,则连接超时。 WSAENOPROTOOPT :未知或不支持的选项。19.1集接口选项(getsockopt ),简单:获取集接口选项。 包括入口代理(套接字、入口级别、入选名称、头发*选项、头发*选项); s :识别集接口的描述语。 level :可选定义的层次结构。 只支持SOL_SOCKET和IPPROTO_TCP层次结构。 optname :要检索的接口选项。 o
5、ptval :指向存储获取的选项值的缓冲区的指针。 optlen :指向optval缓冲区长度值的指针。19.1集界面选项(getsockopt )和注释: getsockopt ()函数用于获取任何类型、任何状态的集界面的可选当前值,并将结果存储在optval中。 不同的协议层有选项,但在最高的“接口”级别,通常会影响接口操作,如操作块的存在、包的选择方法、带外数据的传输等。 选定选项的值存储在optval缓冲区中。 optlen指示的整形数量在初始时包括缓冲器的长度,并且当调用关闭时设置为实际值的长度。 如果没有进行setsockopt ()调用,则getsockopt ()返回系统缺省值
6、。19.1集接口选项(getsockopt )和getsockopt ()支持以下选项: 其中“类型”表示optval指向的数据类型。19.1集接口选项(getsockopt )、门限值:如果没有发生错误,则getsockopt ()返回0。 否则,返回SOCKET_ERROR错误,应用程序可以从WSAGetLastError ()获取相应的错误代码。19.1集接口选项(getsockopt )、错误代码: WSANOTINITIALISED :在使用此API之前,必须成功调用WSAStartup ()。 wsaenetdown :实现windows套接字接口时检测到网络子系统故障。 WSAE
7、FAULT:optlen残奥表不正确。WSAEINPROGRESS :正在执行被阻止的WINDOWS集界面调用。 WSAENOPROTOOPT :未知或不支持的选项。 其中,SOCK_STREAM类型的套接字接口不支持SO_BROADCAST选项,而SOCK_DGRAM类型的套接字接口不支持SO_ACCEPTCONN、SO_DONTLINGER、 不支持so_ :描述词不是一系列接口,而是WINSOCK.H的定义/types # define sock _ stream1/* stream socket */# define sock _ dgram2/* d 定义套接字定义套接字_ RDM4
8、/*可互动式讯息*/#定义套接字_ seq套接字5/*序列套接字套接字流*。 defineso _ debug0x 0001/* turnondebugginginforecording */# defineso _ accept conn0x 0002/* sockethashadlistting defineso _ reuse addr0x 0002 allowlocaladdressreuse */# defineso _ keepalive0x 0008/* keepconnectionsalive justuseinterfaceaddresses */# defineso _ b
9、roadcast0x 0020/*关联接口接口bypasshardwarewhenpossible */# defineso _ linger0x 0080/* lingeroncloseifdatapresent */# defineso _ OOB if leave受到保护的OOB数据在线* /、 19.1.1 SOL_SOCKET(SO_LINGE )和SO_LINGER选项用于控制队列存在于集界面中时的行为。 应用程序通过创建linger结构来设置适当的操作特性。 结构线u _短l _开关; 短l形线条; 要允许SO_LINGER,应用程序将l_onoff设置为零,将l_linger设
10、置为零或必要的超时值(以秒为单位),并调用setsockopt ()。 即,禁止19.1.1接口线、so _ dont线、即SO_LINGER、19.1.1接口线。 如果设置该选项,则TCP将自动向对方发送保持生存的探测节,除非在两个小时内在这组接口的任何方向上都没有数据交换。 这是对方必须应答的TCP分节,引起对方全部正常接收这3种情况:用期待的ACK进行应答。 两小时后,TCP发出另一个探测器部分。 对方崩溃,重新启动:用RST作出响应。 套接字接口处理等待错误设置为ECONNRESET,套接字接口本身关闭。 对方没有任何应答:来自berkeley的TCP发送其他8个探测部分,每隔75秒试
11、着得到一个应答。 在最初的探针分节发行11分15秒后,如果没有应答就放弃了。 套接字接口处理等待错误设置为ETIMEOUT,套接字接口本身关闭。 ICMP错误为“主机无法访问”,对方主机没有崩溃,但无法访问,在这种情况下应处理的错误设置为“EHOSTUNREACH”。 19.1.1 SOL_SOCKET(SO_RCVBUF和SO_SNDBUF ),每个集合的接口都有发送缓冲区和接收缓冲区。 TCP和UDP使用接收缓冲区来存储接收到的数据,直到应用程序进程读取它们。 TCP:TCP通知另一端的窗口大小。 TCP套接字接口的接收缓冲区不能溢出,因为不允许发送超过通知窗口大小的数据。 在这是TCP的
12、流量控制下,在对方无视窗口尺寸发送了超过空口尺寸的数据的情况下,接收侧TCP将其丢弃。 UDP :如果收到的数据报没有进入socket接口接收缓冲区,则丢弃该数据报。 UDP没有流速控制的快发送者可以容易地淹没慢接收者,并且接收者的UDP丢弃数据报。 19.1.1 SOL_SOCKET(SO_REUSEADDR ),缺省情况下,一组接口不能绑定到已在使用的本地地址。 但是,地址可能需要“重用”。 每个连接都由本地地址和远程地址的组合唯一确定,因此只要远程地址不同,两个接口可以捆绑到一个地址。为了通知WINDOWS接口的实现,以防止一个地址被另一个接口使用,应用程序可以在调用bind ()之前设
13、置SO_REUSEADDR选项。 注意:此选项仅在调用bind ()时解释,因此将不共享地址的套接字接口设置为此选项,或者设置或删除此选项,而bind ()不影响此选项或其他套接字接口Nagle算法通过在缓冲器中存储未确认的数据并等待一个数据包一起被发送,来减少主机发送的分段小数据包的数量。 但是,在某些应用程序中,该算法会降低系统性能。 因此,TCP_NODELAY可以用于关闭此算法。 应用程序编写器将精确了解其效果,并且仅在实际需要时设置TCP_NODELAY选项。 这是因为设置后会对网络性能产生显着的不利影响。 TCP_NODELAY是使用IPPROTO_TCP图层的唯一选项,而所有其他
14、选项都使用SOL_SOCKET图层。 19.1.2英特尔原始图形、英特尔插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入式插入。 /* argumentstructureforip _ add _ membershipandip _ drop _ membership */struct IP _ mreqstructin _ adds/* ipmulticastaddressofgroup */struct 接口本地I
15、P地址* /;19.2广播、消息传输方式:单播(TCP )广播(UDP )组播(UDP )、在局域网中如何广播消息? (发送方)、#包括主机(int argc、char * argv )保护保护; 指向WinSocket信息结构的指针套接字监听器; sockaddr _ in、saUdpServ; bool fbroadcast=真; 挑战传感器1024; int nSize; int ncount=0; 您是如何在局域网上广播消息的(wsa startup (make word (1,1,1 ) )? 在(发送方)、if(bind(sockListener,SOCKADDR* )、局域网中如何广播消息? (接收方)、#包括号包括主(int argc、char * argv )标签页; 指向WinSocket信息结构的指针套接字监听器; sockaddr _ in、sa客户端; char cRecvBuff1024; 氮化、氮化; inti addrlen=sizeof (sa客户端); 您是如何在局域网上广播消息的(wsa startup (make word (1,1,1 ) )? (接收方)、接收监听器(sock listener,(SOCKAD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《代理记账管理办法》
- 集团招商引资管理办法
- 出口收汇核销管理办法
- 出租车顶灯设备管理办法
- 出让经济适用房管理办法
- 互联网智能信贷管理办法
- 银行食堂创新管理办法
- 北京市医疗机构管理办法
- 现役军品供应商管理办法
- 厦门市劳动关系管理办法
- 第二讲土地估价技术报告难点及技术要求与处理办法
- 房屋维修施工方案
- GB/T 23704-2017二维条码符号印制质量的检验
- GB/T 15305.1-2005涂附磨具砂页
- 海南省2023年普通高中地理会考试卷-及答案解析
- 波峰焊理规范
- 最新-伤口愈合新进展和美容缝合课件
- tpo41阅读听力部分参考答案
- 黑布林The Clever Woman 聪明的妇人公开课课件
- 采购年中工作总结汇报PPT(24P)
- 施耐德ATV31变频器说明书
评论
0/150
提交评论