网络套接字函数

socket模型创建流程常用函数socket函数头文件:#include<sys/socket.h>函数原型:intsocket(intdomain,inttype,intprotocol);作用:创建一个套接字参数:domain:选用那个IP地址协议常见的选项AF_INET:IPv4协

#socket编程  

Socket编程预备知识

套接字概念  Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核缓冲区形成的伪文件  既然是文件,那么理所当然的,可以使用文件描述符引用套接字。与管道类似,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是

#socket编程  

TCP状态转换图

TCP 状态转换  这个图 N 多人都知道,它排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻的认识,不能只停留在一知半解之中。下面对这张图的11种状态详细解析一下,以便加强记忆!不过在这之前,先回顾一下TCP建立连接的三次

#TCP/IP  

浅谈滑动窗口(TCP流量控制)

  介绍TCP时我们描述了这样的问题:如果发送端发送的速度较快,接收端接收到数据后处理的速度较慢,而接收缓冲区的大小是固定的,就会丢失数据。TCP协议通过“滑动窗口(SlidingWindow)”机制解决这一问题。看下图的通讯过程:           发送端发起连接,声明最大段尺寸是1460,初始

#TCP/IP  

Linux网络编程——浅谈 TCP 三次握手和四次挥手

TCP通信时序下图是一次TCP通讯时序图,TCP连接建立断开。包括常见的三次握手,四次挥手。            在这个例子中,首先客户端主动发起连接、发送请求,然后服务器端响应请求,然后客户端主动关闭连接。两条竖线表示通讯的两端,从上到下表示时间的先后顺序,注意,数据从一端传到网络的另一端也需要

#TCP/IP  

浅谈 C/S 和 B/S 架构

概述我是红色字体  在这个信息急剧膨胀的社会,我们不得不说人类正进入一个崭新的时代,那就是信息时代。信息时代的一个主要而显著的特征就是计算机网络的应用。计算机网络从最初的集中式计算,经过了Client/Server阶段(有两层C/S和三层C/S),已发展到目前最流行的Browser/Server计算

#TCP/IP  

Linux系统编程 -- POSIX无名信号量

信号量  大家知道,互斥锁可以用于线程间同步,但是,每次只能有一个线程抢到互斥锁,这样限制了程序的并发行。如果我们希望允许多个线程同时访问同一个资源,那么使用互斥锁是没有办法实现的,只能互斥锁会将整个共享资源锁住,只允许一个线程访问。  这种现象,使得线程依次轮流运行,也就是线程从并行执行变成了串行

Linux系统编程——条件变量&生产者消费者模型

条件变量  使用互斥锁来实现线程间数据的共享和通信,互斥锁一个明显的缺点是它只有两种状态:锁定和非锁定。而条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一