
socket c++
文章平均质量分 84
贾晓凯2008
这个作者很懒,什么都没留下…
展开
-
DNS的解析杂谈,以及gethostbyname的弊端
http://blog.csdn.net/shijun_zhang/article/details/65774261、前言: 在网络编程中,常常要使用域名转换为IP的操作,这个时候就需要用到域名解析。域名解析是一个垂直请求的过程,具体如下图。 2、gethostbyname的性能瓶颈 Unix/Linux下的gethostbyname函数常用来向DNS查询一个域名的转载 2017-09-05 17:51:00 · 989 阅读 · 0 评论 -
TCP最小传输单元和最大传输单元
一个以太网数据帧的用户数据段是 46-1500字节TCP协议的话,有20字节IP头+20字节TCP头,占用40字节也就是说留给用户的数据是6字节-1460字节所以对于TCP协议来说,如果你发送的数据小于6字节(不是几百字节)的时候,是“亏本”的所以TCP协议有一个Nagle算法,满足一定条件的情况下,对send的数据缓存、拼接到一起再发送,这个选项默认是开启的。当然你可以通过T转载 2017-09-01 18:17:33 · 7137 阅读 · 1 评论 -
套接字有三种类型:流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM)及原始套接字
1.流式套接字(SOCK_STREAM) 流式的套接字可以提供可靠的、面向连接的通讯流。如果你通过流式套接字发送了顺序的数据:“1”“2”,那么数据到达远程时候的顺序也是“1”“2”。 流式套接字可以做什么呢?你听说过Telnet应用程序吗?听过?哦,最常用的BBS服务,以及系统的远程登陆都是通过Telnet协议连接的。Telnet就是一个流式连接。你是否希望你在Telnet应转载 2017-07-28 18:02:18 · 7596 阅读 · 0 评论 -
select、poll、epoll之间的区别总结[整理]
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用转载 2017-07-28 17:44:17 · 193 阅读 · 0 评论 -
同步、异步、阻塞、非阻塞概念和各自之间的关系
一、 一 概念1. 同步:调用时,在没有得到结果之前,该调用就不返回,按照这个定义,绝大多数函数都是同步调用。一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。2. 异步:调用者不会立刻得到结果,调用发出后,通过状态(效率低)、通知,或回调函数来通知调用者。PostMessga原创 2017-07-28 17:16:46 · 1031 阅读 · 0 评论 -
IO中同步、异步与阻塞、非阻塞的区别 2013-05-31 11:51:19
一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该转载 2017-07-28 12:01:54 · 186 阅读 · 0 评论 -
HTTP协议详解(真的很经典)
引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支转载 2016-09-18 16:44:40 · 378 阅读 · 0 评论 -
FTP主动模式和被动模式的区别
基础知识:FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。主动模式FTP:主动模式下,FTP客户端从任意的非特殊的端口(N > 1023)连入到FTP服务器的命令端转载 2016-06-07 11:33:31 · 464 阅读 · 0 评论 -
WSAEventSelect模型编程
WSAEventSelect模型编程 WSAEventSelect模型编程这个模型是一个简单的异步事件模型,使用起来比较方便,现在说一下其的具体的用法和需要注意的地方。一,模型的例程(服务端):先举一个王艳平网络通信上的例子:[cpp] view plaincopyprint?1. ////////////////////////////////////转载 2015-11-30 14:37:19 · 413 阅读 · 0 评论 -
原始套接字SOCK_RAW
实际上,我们常用的网络编程都是在应用层的报文的收发操作,也就是大多数程序员接触到的流式套接字(SOCK_STREAM)和数据包式套接字(SOCK_DGRAM)。而这些数据包都是由系统提供的协议栈实现,用户只需要填充应用层报文即可,由系统完成底层报文头的填充并发送。然而在某些情况下需要执行更底层的操作,比如修改报文头、避开系统协议栈等。这个时候就需要使用其他的方式来实现。 一 原始套转载 2015-11-18 11:54:28 · 315 阅读 · 0 评论