E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Unix网络编程
《
UNIX网络编程
卷1:套接字联网API》学习笔记——高级 I/O函数
UNIX网络编程
——高级I/O函数套接字超时recv和send函数readv和writev函数recvmsg和sendmsg函数辅助数据排队的数据量套接字和标准I/O套接字超时涉及套接字的I/O操作上设置超时的方法有以下
十月翊安
·
2023-03-30 10:01
UNIX网络编程
unix
网络
服务器
Unix网络编程
-select模型重写服务器回射函数
Unix网络编程
-TCP客户端服务器示例(1)这篇文章给出的tcp服务端程序,把他重写成使用select来处理任意个客户的单进程程序,而不是每个客户派生出一个子进程。
大毛的笔记
·
2023-03-30 04:39
网络IO概述
本文提到的网络IO模型是指RichardStevens等人编著的《
UNIX网络编程
卷1:套接字联网API》一书中的网络
夜雨风云
·
2023-03-28 23:20
分布式应用
软件架构
计算机网络
分布式
软件架构
计算机网络
Unix网络编程
-基本UDP套接字编程
在使用TCP编写的应用程序和使用UDP编写的应用程序之间存在一些本质差异,其原因在于这两个传输层之间的差别:UDP是无连接不可靠的数据报协议,非常不同于TCP提供的面向连接的可靠字节流。然而相比TCP,有些场合确实更适合使用UDP。使用UDP编写的一些常见的应用程序有:NDS域名系统、NFS网络文件系统和SNMP简单网络管理协议。下图给出了典型的UDP客户/服务器程序的函数调用。客户不与服务器建立
大毛的笔记
·
2023-03-28 02:21
书单书单
《
UNIX网络编程
(卷1)》5.《UNIX编程艺术》6.《C++Primer》
赖床实习生
·
2023-03-28 01:21
UNIX网络编程
卷2 源码编译篇
W.RichardStevens的主页源代码下载>>~/Downloads/unpv22e.tar.gz;1tar-xzfvunpv22e.tar.gz2cdunpv22e3./configure4cdlib5makemake编译失败,因为需要对两个文件修改,unpv22e/config.h和unpv22e/wrapunix.c。viconfig.h/*注释掉这三行*///#defineuint8
Hope_加贝
·
2023-03-27 22:50
Unix网络编程
-UDP客户端服务器示例(2)
一个简单的UDP客户端/服务器程序示例,这个简单的例子执行如下步骤的一个回射服务器:1)客户端从标准输入读入一行文本,并写给服务端2)服务端从网络输入读入一行文本,并回射给客户端3)客户端从网络输入读入这行回射的文件,并显示在标准输出上。下图描述了这个简单的客户/服务器:UDP回射服务器程序和UDP回射客户端程序见上篇,略数据报的丢失我们的UDP客户/服务器例子是不可靠的。如果一个客户数据报丢失(
大毛的笔记
·
2023-03-24 21:59
Unix网络编程
-同步
1、互斥锁(量)和条件变量默认情况下互斥锁和条件变量用于线程间同步,若将它们放在共享内存区,也能用于进程间同步。1.1互斥锁1、概述:互斥锁(Mutex,也称互斥量),防止多个线程对一个公共资源做读写操作的机制,以保证共享数据的完整性。用以保护临界区,以保证任何时候只有一个线程(或进程)在访问共享资源(如代码段)。保护临界区的代码形式:lock_the_mutex(...);临界区unlock_t
爱橙子的OK绷
·
2023-03-23 19:58
网络编程与多线程
网络编程
Unix网络编程
学习笔记
Unix网络编程
本文内容较长,包含的知识点很多(多线程/多进程开发服务器,select、epoll、poll、线程池、UDP服务器开发、libevent库的使用等),建议使用Ctrl+f来查找学习。
jiong1998
·
2023-03-22 12:49
网络
unix
服务器
Unix网络编程
-poll函数重写服务器函数
我们现在用poll替代select重写tcp回射服务器程序。在使用select早先那个版本中,我们必须分配一个client数组以及一个名为rset的描述符集。改用poll后,我们只需分配一个pollfd结构的数组来维护客户信息,而不必分配另外一个数组。服务端程序如下所示:分配pollfd结构数组我们声明在pollfd结构数组中存在OPEN_MAX个元素。确定一个进程任何时刻能够打开的最大描述符数目
大毛的笔记
·
2023-03-18 03:44
书单
神经网络与机器学习深入理解计算机系统(原书第2版)C语言程序设计:现代方法(第2版)设计模式可复用面向对象软件的基础计算机程序的构造和解析(原书第2版)C++程序设计语言算法导论UNIX环境高级编程(第3版)
UNIX
isolate_watcher
·
2023-03-09 12:06
读书笔记
TCP协议疑难杂症全景解析
因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《
Unix网络编程
》以及Linux源
幽幽起来写代码啦
·
2023-02-05 10:28
LWIP的移植
CMake 混编c和c++代码
准备工作wsl或者有linux系统(购买阿里云或者其他云服务器)cmake,gcc,git等一些必要的软件安装环境windows下的wslwsl安装下载例子拿
Unix网络编程
举例,作者对原生接口进行了封装
zbbzb
·
2023-02-05 04:12
c++
c语言
c++
centos
cmake
BIO、NIO、AIO理解(I/O模型)
IO模型(
unix网络编程
第一卷)unix有五种I/O模型,好像其他系统也差不多吧。
北地的树
·
2023-02-04 19:34
软件架构思想杂记
nio
Java
I/O模型
UNIX网络编程
笔记(2)—套接字编程简介
套接字编程概述说到网络编程一定都离不开套接字,以前用起来的时候大多靠记下来它的用法,这一次希望能理解一些更底层的东西,当然这些都是网络编程的基础~(1)套接字地址结构大多说套接字函数都需要一个指向套接字地址结构的指针作为参数,每个协议族都定义它自己的套接字地址结构,这些结构都以sockadd_开头。IPV4套接字地址结构IPv4套接字地址结构通常称为“网际套接字地址结构”,以sockaddr_in
NearXDU
·
2023-01-31 22:26
UNIX网络编程(卷1)
unix
网络编程
套接字
Linux 网络 I/O 模型
根据
UNIX网络编程
对I/O模型的分类,UNIX提供了5种
tanghomvee
·
2023-01-26 01:42
《
UNIX网络编程
卷1:套接字联网API(第3版)》 分享下载
书籍信息书名:
UNIX网络编程
卷1:套接字联网API(第3版)原作名:UnixNetworkProgramming,Volume1:TheSocketsNetworkingAPI(3rdEdition)
开始以后_
·
2023-01-25 22:12
《
UNIX网络编程
卷1:套接字联网API》学习笔记——基本TCP套接字编程
UNIX网络编程
——基本TCP套接字编程socket函数connect函数bind函数listen函数accept函数fork和exec函数并发服务器close函数getsockname和getpeername
十月翊安
·
2023-01-12 07:40
UNIX网络编程
网络
unix
tcp/ip
Redis Lettuce 客户端与IO阻塞VS非阻塞 同步VS异步的总结
apiFDLinux一切皆文件,进程可以打开成百上千个文件,为了表示和区分已经打开的文件,Linux会给每个文件分配一个编号(一个ID),这个编号就是一个整数,被称为文件描述符(FileDescriptor)IO模型(
Unix
zh_harry
·
2023-01-08 10:29
I/O子系统:select,poll,epoll,kqueue, iocp(Windows)及各种I/O复用机制 模式Reactor Proactor
常见的I/O模型及其区别首先,介绍几种常见的I/O模型及其区别,如下:《
Unix网络编程
》blockingI/OnonblockingI/OI/Omultiplexing(selectandpoll)signaldrivenI
wuyue五月
·
2022-12-29 20:23
linux
网络
linux
网络
多线程
UNIX网络编程
卷一 学习笔记 第五章 TCP客户/服务器程序示例
本章将编写一个完整的TCP客户/服务器程序,这个简单例子是执行以下步骤的一个回射服务器:1.客户从标准输入读入一行文本,并写给服务器;2.服务器从网络输入读入这行文本,并回射给客户;3.客户从网络输入读入这行回射文本,并显示在标准输出上。如上图,我们在客户与服务器之间画了两个单向箭头,但实际上它们构成一个全双工的TCP连接。fets和fputs函数来自标准IO函数库,writen和readline
吃着火锅x唱着歌
·
2022-12-28 11:18
UNIX网络编程卷一(第三版)
网络
tcp/ip
unix
UNIX网络编程
卷一 学习笔记 第二章 传输层:TCP、UDP和SCTP
绝大多数客户/服务器网络应用使用TCP或UDP,SCTP(流控制传输协议,StreamControlTransmissionProtocol)是一个较新的协议,最初设计用于通过因特网传输电话信令。这些传输层协议都使用网络层协议IP(IPv4或IPv6)。尽管可以绕过传输层直接使用IPv4或IPv6,但这种原始套接字极少使用。UDP是一个简单的、不可靠的数据报协议,而TCP是一个复杂、可靠的字节流协
吃着火锅x唱着歌
·
2022-12-28 11:48
UNIX网络编程卷一(第三版)
网络
tcp/ip
unix
unix网络编程
(四)epoll反应堆
epoll反应堆原理代码demo原理【epoll模型原来的流程】:epoll_create();//创建监听红黑树epoll_ctl();//向书上添加监听fdepoll_wait();//监听有监听fd事件发送—>返回监听满足数组—>判断返回数组元素—>lfd满足accept—>返回cfd---->read()读数据—>write()给客户端回应。【epoll反应堆模型的流程】:epoll_cr
午夜零时
·
2022-12-21 02:20
unix网络编程
网络
linux
运维
unix网络编程
(四) 线程池并发服务器
线程池并发服务器概念线程池和任务队列任务队列线程池操作线程池的函数初始化线程池销毁线程池向线程池添加任务任务的回调函数测试概念线程池是一个抽象概念,可以简单的认为若干线程在一起运行,线程不退出,等待有任务处理。为什么要有线程池?以网络编程服务器端为例,作为服务器端支持高并发,可以有多个客户端连接,发出请求,对于多个请求我们每次都去建立线程,这样线程会创建很多,而且线程执行完销毁也会有很大的系统开销
午夜零时
·
2022-12-21 02:20
unix网络编程
网络
服务器
c++
unix网络编程
(三) 两种模式下的epoll服务端
1.水平触发和边沿触发EdgeTriggered(ET)边缘触发只有数据到来才触发,不管缓存区中是否还有数据。LevelTriggered(LT)水平触发只要有数据都会触发。LT模式是默认的工作模式,在这种模式下epoll相当于一个效率较高的poll。使用ET模式需要在内核的事件表注册文件描述符的EPOLLET事件。2.水平触发下的epoll服务器编写epoll服务器的核心步骤:创建绑定监听IP和
午夜零时
·
2022-12-21 02:50
unix网络编程
linux
后端
Photon学习(一)——Photon Networking Free网络组件学习
从业以来,一直想着该如何实现网络编程,走了很多弯路,自己也试着学习了下Javaweb,在没有看到Photon之前,甚至一度很是向往鹅厂大牛提到的
unix网络编程
,但无论是Java服务器,C++服务器,其内容
weixin_30247159
·
2022-12-13 02:29
一天速读《
Unix网络编程
》(上):TCP/UDP/IP + select/poll/epoll
Unix网络编程
里面的5种IO分类阻塞IO非阻塞IO信号驱动IOIO复用模型异步IO前四种都是同步IO,最后一种是异步的。
荆赤潮
·
2022-12-08 13:43
操作系统学习笔记
其他学习笔记
Linux五种IO模型
一、背景知识《
UNIX网络编程
》中讲了5中IO模型,分别是:阻塞IO模型和非阻塞IO模型、IO复用模型、信号驱动的IO模型和异步IO模型。注意:只有异步IO模型是异步IO操作,其余都是同步IO操作。
基层搬砖的Panda
·
2022-12-04 23:44
linux
linux
【手把手教你写服务器】TCP状态转换、TIME_WAIT状态、SO_REUSEADDR选项
文章目录1.TCP状态转换2.TIME_WAIT状态3.SO_REUSEADDR选项1.TCP状态转换关于TCP状态转换,自行查阅《
UNIX网络编程
_卷1_套接字联网API_第3版》第二章第六节。
早睡身体好hh
·
2022-11-01 22:02
nginx
TCP
TIME_WAIT
SO_REUSEADDR
学习
unix网络编程
第一章
文章目录1.创建TCP套接字2.指定服务器的IP地址和端口2.1htons()函数2.2新型网路地址转化函数inet_pton和inet_ntop3.建立与服务器的连接4.读入并输出服务器的应答5.错误处理:包裹函数6.一个简单的时间获取服务器程序7.OSI模型一个简单的时间获取客户程序#includeintmain(intargc,char**argv){intsockfd,n;charrecv
DZGNB
·
2022-10-08 16:49
UNIX网络编程
网络
学习
unix
TCP协议解析
因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《
Unix网络编程
》以及Linux源代码之外,学习网络更好的资
ProYuan28
·
2022-09-11 07:39
嵌入式网络开发
TCP
【
UNIX网络编程
】|【06】基本UDP套接字编程【数据报丢失、性能、流量控制....】
文章目录1、概述2、recvfrom和sendto3、UDP回射服务器程序4、dg_echo函数4、UDP回射客户程序5、UDP客户程序:dg_cli函数6、数据报丢失7、验证接收到的响应8、服务器进程未运行9、UDP的connect10、给一个UDP套接字多次调用connect11、性能12、dg_cli函数13、UDP缺乏流量控制13.1UDP套接字接收缓冲区14、UDP中的外出接口的确定15
Jxiepc
·
2022-06-29 16:05
网络编程
udp
网络
unix
UDP
彻底搞懂 Netty 线程模型
前言BIO、NIO、AIO总结
Unix网络编程
中的五种IO模型深入理解IO多路复用实现机制在学习Netty之前我们最好先掌握BIO、NIO、AIO基础知识,前面我们已经花了三篇文章去讲这些知识。
一角钱技术
·
2022-06-27 23:44
Netty
netty
nio
《Unix 网络编程》11:名字和地址转换
名字和地址转换系列文章导航:《
Unix网络编程
》笔记域名系统简介域名系统主要用于主机名字和IP地址之间的映射。
樵仙
·
2022-05-29 09:00
《Unix 网络编程》08:基本UDP套接字编程
基本UDP套接字编程系列文章导航:《
Unix网络编程
》笔记UDP概述流程图recvfrom和sendto#includessize_trecvfrom(intsockfd,void*buff,size_tnbytes
樵仙
·
2022-05-29 08:00
《Unix 网络编程》05:TCP C/S 程序示例
TCP客户/服务器程序示例系列文章导航:《
Unix网络编程
》笔记目标ECHO-Application结构如下:graphLR;A[标准输入/输出]--fgets-->B[TCP-Client]--
樵仙
·
2022-05-28 10:00
网络编程常见问题总结
在网络程序中遇到的一些问题进行了总结,这里主要针对的是我们常用的TCPsocket相关的总结,可能会存在错误,有任何问题欢迎大家提出.对于网络编程的更多详细说明建议参考下面的书籍《
UNIX网络编程
》《TCP
m0_67391683
·
2022-05-02 10:23
java
java
后端
阅读
UNIX网络编程
卷1:套接字联网API(第3版)--整理笔记
一、一个基本的tcp客户/服务器回写,server&client的代码如下:server:client:这边最好是要把2个buffer都memset()下,不然空回车,数据就不对了本书前5章讲的tcp的并发,都是多进程模式(fork)等待连接,正在listening已建立连接POSXI信号处理信号:就是告知某个进程发生了某个事件的通知;信号通常是异步发生的,也就是说接受信号的进程不知道信号的准确发
鹏_921010
·
2022-02-28 19:06
JAVA IO
根据
UNIX网络编程
对I/O模型的分类,UNIX提供了
Sponge1128
·
2022-02-19 18:16
《
Unix网络编程
》第一卷第三版 源码编译
操作系统:操作系统:Ubuntu16.04unpv13e/libfree目录下make报错inet_ntop.c:60:9:error:argument‘size’doesn’tmatchprototypesize_tsize;^Infileincludedfrominet_ntop.c:27:0:/usr/include/arpa/inet.h:64:20:error:prototypedecl
高稚商de菌
·
2022-02-16 14:43
Unix网络编程
第一卷-3环境配置
Unix网络编程
第一卷-第三版环境配置首先我们先将本书中的所有样例下载下来百度云下载链接:链接:https://pan.baidu.com/s/1IjBM3QS4bnW43DZClpD2MQ提取码:wjfg
想阳
·
2022-02-16 06:42
Java NIO系列教程(二) Channel通道介绍及FileChannel详解
特别是在
UNIX网络编程
模型中,底层操作系
Java架构师笔记
·
2022-02-13 01:56
阻塞与非阻塞,同步与非同步,你真的懂吗?
按照《
Unix网络编程
》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO。按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?
叫我不矜持
·
2022-02-12 06:53
Unix网络编程
之5种IO模型
1.Unix/Linux操作系统简述Unix操作与Linux系统结构图解(引用计算机操作系统书籍)概要说明用户空间:姑且将上述用户级别或者是unix编程的应用程序的部分称为用户空间,我们可以通过启动进程来调用内核来完成从硬件设备读取或写入等操作系统内核:是直接与计算机硬件打交道的应用程序级别,在计算机相关的书籍中也称为操作系统,可以通过操作系统级别提供的一些组件来帮助用户进程与计算机硬件完成通信交
疾风先生
·
2022-02-06 15:53
IO&网络编程
Unix之5种IO模型
同步IO
异步IO
阻塞IO
非阻塞IO
linux select/epoll
一、Unix/Linux网络IO模型在经典的
Unix网络编程
中,总结出了5种不同的网络IO模型,分别是阻塞式IO,非阻塞IO,IO多路复用,信号驱动IO,以及异步IO模型。
布衣小菜
·
2021-08-19 19:29
如何用root用户去使用Xcode的Debug
最近在学习
unix网络编程
,需要用到RAWSocket,但是在xcode下直接debug会出现问题如创建原始套接字:intsockfd=Socket(sasend->sa_family,SOCK_RAW
JHx_
·
2021-06-09 11:43
同步异步,阻塞与非阻塞
在研究I/O多路复用时,《
UNIX网络编程
》中,归纳总结了五种I/O模型,包括同步异步I/O:阻塞I/O(Blo
小刘要学习
·
2021-06-09 03:39
2020-02-19 阻塞IO和非阻塞IO
2)将内核缓冲区的数据复制到进程中五种IO模型简介1.阻塞式阻塞式(截取
UNIX网络编程
卷1)2.非阻塞式非阻塞式(截取UNIX网络
tanbin_tech
·
2021-06-07 06:20
包裹函数
这是一个很鸡肋的名称、出现在
UNIX网络编程
1中。
hailiu13
·
2021-05-15 10:07
IO模型:同步、异步、阻塞、非阻塞
原文:https://songlee24.github.io/2016/07/19/explanation-of-5-IO-models/关键词:同步、异步、阻塞、非阻塞一、IO模型在《
UNIX网络编程
maolazhu
·
2021-05-09 20:29
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他