当前位置: 首页 > news >正文

网络营销工具及其特点网站优化建设广州

网络营销工具及其特点,网站优化建设广州,建设一个网站哪家好,网络营销相关理论目录 1. 套接字的可选项 2. 获取/设置套接字可选项 2.1 getsockopt函数#xff08;获取套接字可选项#xff09; 2.2 setsockopt函数#xff08;设置套接字可选项#xff09; 3. 常用套接字可选项 3.1 SOL_SOCKET协议层的SO_TYPE可选项 3.2 SOL_SOCKET协议层的SO_SN…目录 1. 套接字的可选项 2. 获取/设置套接字可选项 2.1 getsockopt函数获取套接字可选项 2.2 setsockopt函数设置套接字可选项 3. 常用套接字可选项 3.1 SOL_SOCKET协议层的SO_TYPE可选项 3.2 SOL_SOCKET协议层的SO_SNDBUF和SO_RCVBUF可选项 3.3 SOL_SOCKET协议层的SO_REUSEADDR可选项 3.3.1 Time-wait状态 3.3.2 SO_REUSEADDR可选项 3.4 IPPROTO_TCP协议层的TCP_NODELAY可选项 3.4.1 Nagle算法 3.4.2 TCP_NODELAY可选项 1. 套接字的可选项 SOL_SOCKET是套接字相关的通用可选项。 IPPROTO_IP是IP协议相关事项。 IPPROTO_TCP是TCP协议相关的事项。 无需全部记忆下来只有一些是常用的下面将会介绍。 2. 获取/设置套接字可选项 2.1 getsockopt函数获取套接字可选项 LINUX: #includesys/socket.hint getsockopt( int sock, //用于查看选项套接字文件描述符 int level, //要查看的可选项的协议层 int optname, //要查看的可选项名 void* optval, //保存查看结果的缓冲地址值 socklen_t* optlen //向第四个参数optval传递的缓冲大小即第四个参数所占字节数 ); 成功返回0失败返回-1WINDOWS: #includewinsock2.hint getsockopt( SOCKET sock, //同上 int level, //同上 int optname, //同上 char* optval, //同上不同的是这里是char* 类型要进行强制转换 int* optlen //同上不同的是这里是int* 类型 ); 成功返回0失败返回SOCKET_ERROR 2.2 setsockopt函数设置套接字可选项 LINUX: #includesys/socket.hint setsockopt( int sock, //用于更改可选项的套接字文件描述符 int level, //要更改的可选项协议层 int optname, //要更改的可选项名 const void* optval, //保存要更改的选项信息的缓冲地址值 socklen_t optlen //向第四个参数optval传递的可选项信息的字节数 ); 成功返回0失败返回-1WINDOWS #includewinsock2.hint setsockopt( int sock, //同上 int level, //同上 int optname, //同上 const char* optval, //同上不同的是这里是const char* 类型 int optlen //同上不同的是这里是int 类型 ); 成功返回0失败返回SOCKET_ERROR 3. 常用套接字可选项 3.1 SOL_SOCKET协议层的SO_TYPE可选项 作用用以查看套接字类型。如果是TCP套接字则为1SOCK_STREAMUDP套接字则为2SOCK_DGRAM。 注意套接字类型不可更改只能在创建时决定由表也可得知。 3.2 SOL_SOCKET协议层的SO_SNDBUF和SO_RCVBUF可选项 作用用以查看/修改输入/输出缓冲区大小。 注意当你修改完后的I/O缓冲区大小可能不是和你设置的结果一样这是因为缓冲区的大小设置要谨慎处理不会完全按我们的要求进行我们只是向系统传递要求系统不一定会按照我们的结果来设置。 3.3 SOL_SOCKET协议层的SO_REUSEADDR可选项 3.3.1 Time-wait状态 在了解SO_REUSEADDR可选项之前先介绍套接字的Time_wait状态。 Time_wait状态就是当某一方向另一方发起断开连接请求时经过四次握手状态请求断开连接的这一方在接收到另一方发来的FIN信息时就会进入到一个Time-wait状态等状态结束才会关闭套接字在这个期间端口是一直处在运行状态不能绑定其它套接字。 如图所示只有先请求断开的这一方才会经过Time-wait状态。 所以假设服务器端是先请求断开的这一方那么服务器端在与客户端进行四次握手后进入到Time-wait状态这时服务器端不能马上重新运行因为下次运行进行IP地址和端口号绑定时bind函数会发生错误因为此时套接字还处于Time-wait状态端口号仍然在使用中所以服务器不能马上重新运行。 1.客户端套接字为什么先请求断开重启后仍然可以立马运行 因为客户端的端口是动态分配的并不是固定的。 2.客户端套接字会不会经过Time-wait状态 答会的只要是先请求断开的这一方的套接字都会经过Time-wait状态。 3.为什么会有Time-wait这个状态 答假设上述图中主机A在发送完最后一个数据包后马上关闭套接字而最后一个数据包并没有送达到主机B那么此时主机B就会认为前一个数据包发送给了主机A而主机A没有收到就会把前一个主机包进行重传但是主机A却再也不能接收到这个数据包了因为主机A已经在发送最后一个数据包的同时把套接字给关闭了。基于这些考虑才会有Time-wait状态。 3.3.2 SO_REUSEADDR可选项 Time-wait状态看起来很重要但并不是那么让人喜欢。当系统发生故障紧急停止时需要立马重启服务器端提供服务这时因为服务器端的套接字处于Time-wait状态从而导致必须要等待几分钟。如图 此时服务器端每接收到主机B发来的数据包Time-wait状态就会进行重置服务器端就必须要等待状态结束。 所以我们提供SO_REUSEADDR可选项来设置套接字。 作用调整参数将允许处于Time-wait状态的套接字绑定的端口号绑定新的套接字。 值默认值是0假不允许Time-wait状态的套接字的端口号绑定新的套接字设置为1真将允许绑定新的套接字。 3.4 IPPROTO_TCP协议层的TCP_NODELAY可选项 3.4.1 Nagle算法 在了解TCP_NODELAY可选项的作用之前先了解Nagle算法。 Nagle算法优点防止因数据包过多而发生的网络过载。 Nagle算法缺点因要等待ACK消息传输速率会降低。 Nagle算法原理只有收到前一数据的ACK消息时才发送下一数据。如图 主机A发送字符串Nagle到主机B。 左边当开启了Nagle算法时主机A会先将头字符N存入输出缓冲中这时因为N是头字符没有需要接收的ACK所以会立马传输给主机B接着主机A等待主机B的ACK在等待的同时会将余下的字符存入输出缓冲里在接收到主机B的ACK消息后把余下字符装入一个数据包发送给主机B。这时总共只传递了4个数据包。 右边当关闭了Nagle算法时极端情况下并不是说关闭Nagle算法一定是这么传输的主机A有可能会逐个字符依次传到输出缓冲里因为无需等待主机B的ACK在存入输出缓冲里就马上传输给主机B。这样总共传递了10个数据包。 综上Nagle算法可以防止数据包过多而导致的网络过载。 Nagle算法在什么情况下适用什么情况下不适用 答要根据传输数据的特性来网络流量未受太大影响时不使用Nagle算法要更快。比如大文件数据的传输这时即便不使用Nagle算法也会在装满输出缓冲时再进行传输这样不仅不会增加数据包的数量反而因为不用接收ACK而提高传输速度。 3.4.2 TCP_NODELAY可选项 我们可以通过TCP_NODELAY来禁用Nagle算法。 作用启用/禁用Nagle算法。 值默认值是0假启用Nagle算法1真禁用Nagle算法。
http://www.dnsts.com.cn/news/251693.html

相关文章:

  • 做食品的网站设计要注意做电商有哪些平台
  • 企业建网站选中企动力wordpress主题chuxia
  • 科技感网站模板做企业网站联系
  • 生活服务信息类网站建设那些网站后台做推广效果好
  • 介休城乡建设网站那个软件可以做三个视频网站
  • 合肥制作网站郑州seo技术培训班
  • 上海做网站的企业上海网站制作公司联系方式
  • 个人网站 虚拟主机建设网站基础
  • 朔州网站建设电话paypal网站集成
  • 个人律师网站模板有无广告销售版本"有广告免费无广告收费"网站
  • 网站建设学费要多少网站外连
  • 网站备案 每年php做的网站如何运行
  • 长春网站设计网站建设网站制作880元企业邮箱可以自己申请吗
  • 网站如何做脚注北京网站制作设计与开发服务
  • 网站模板安装河源wordpress培训
  • 滁州建设网站公司html项目答辩
  • python做网站 教育北京的软件公司集中在哪个区
  • 建设网站要注意事项设计了网站
  • 自己做网站需要学些什么外包公司名单
  • 高等院校网站建设方案如何做征信公司网站
  • 企业网站下载湖南电商平台网站建设
  • 邵阳网站制作315晚会 网站建设公司
  • 越秀区建设局网站新手怎么开始做电商
  • phpmysql网站开发视频网站留言系统 提交没反应
  • 珠海做网站的制作网站需要的软件
  • 极简风格 网站wordpress管理页面地址
  • 阿里企业网站托管东阿聊城做网站的公司
  • 昆明网站建设哪家强建站官网模板
  • 舞钢市城乡建设局网站服务器查询
  • 网站开发我嵌入式开发wordpress安装页面错乱