网络编程
qfan风清扬
分享于职场、人生、技术、和工作的点点滴滴
展开
-
网络编程-part1-三次握手-四次挥手
三次握手和四次挥手在面试考网络方面的只是经常看见,大家一定要谨记于心。TCP三次握手过程如下:C-> SYN -> SS->SYN/ACK->CC->ACK->S三次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。Server收到...原创 2019-09-01 11:53:15 · 164 阅读 · 0 评论 -
1、epoll()
1、epoll() epoll()是Linux特有的I/O复用函数,它的实现与使用上和select()、poll()、有很大差异。 epoll()用一组函数来完成任务,而不是单个函数;其次,epoll()把文件描述放到内核事件表中,只需一个额外的文件描述符,来标识内核中唯一的这个事件表。 需要使用的API: int epoll_create(int size); in...原创 2018-11-19 23:28:58 · 206 阅读 · 0 评论 -
Linux I/O复用--epoll
Linux I/O复用--epoll编程TWO编程小兔崽今天epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述...原创 2018-11-19 23:28:17 · 253 阅读 · 0 评论 -
Linux I/O复用——select()
原创:编程TWO编程小兔崽今天今天跟大家介绍一个函数,这个函数在Linux编程里边特别重要,很多地方都用到。select()函数函数原型int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout);参数分析:nfds+1,在其后的读、写、异常...原创 2018-11-13 22:48:38 · 145 阅读 · 0 评论 -
线程池网络服务
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永...原创 2018-11-12 23:51:43 · 152 阅读 · 0 评论 -
Socket网络编程
套接字概念Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是管道主要应用于本地进程间通信,而套接字多应用于网络进程间数据的传递。...原创 2018-11-03 17:25:14 · 375 阅读 · 0 评论 -
Linux网络编程上
1、LINUX网络编程基础知识1.1. TCP/IP协议概述协议protocol:通信双方必须遵循的规矩 由iso规定 rpc文档osi参考模型:(应-表-会-传-网-数-物)应用层 表示层 会话层 传输层 网络层 数据链路层 物理层tcp/ip模型4层:应用层{http超文本传输协议 ftp文件传输协议 telnet远程登录 ssh安全外壳协议 stmp简...原创 2019-04-25 07:34:25 · 132 阅读 · 0 评论 -
Linux网络编程下
前2篇文章,我写了一些网络编程的基础以及一些网络编程需要掌握的基础。1:Linux网络编程<一>2:Linux网络编程<二>socket编程TCP协议的流程图收到确认消息后才会继续发送消息,否则继续等待。这样的好处是传输的数据是可靠的,此外它是有连接的传输,大多数网络传输都是用的TCP。TCP协议(1)面向连接的可靠的传输控制协议,连...原创 2019-04-25 22:41:53 · 255 阅读 · 0 评论 -
网络编程中
网络相关概念(1)套接口的概念:套接口,也叫“套接字”。是操作系统内核中的一个数据结构,它是网络中的节点进行相互通信的门户。它是网络进程的ID。网络通信,归根到底还是进程间的通信(不同计算机上的进程间通信)。在网络中,每一个节点(计算机或路由)都有一个网络地址,也就是IP地址。两个进程通信时,首先要确定各自所在的网络节点的网络地址。但是,网络地址只能确定进程所在的计算机,而一台计算机上很可能...原创 2019-04-25 07:36:27 · 155 阅读 · 0 评论