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网络编程vol1
UNIX网络编程
——常用服务器模型总结
下面有9种服务器模型分别是:迭代服务器。并发服务器,为每个客户fork一个进程。预先派生子进程,每个子进程都调用accept,accept无上锁保护。预先派生子进程,以文件锁的方式保护accept。预先派生子进程,以线程互斥锁上锁的方式保护accept。预先派生子进程,由父进程向子进程传递套接口描述字。并发服务器,为每个客户请求创建一个线程。预先创建线程,以互斥锁上锁方式保护accept。预先创建
weixin_34128237
·
2020-07-08 16:09
AIO编程(NIO2.0)及代码实现
异步的套接字通道时真正的异步非阻塞I/O,对应于
UNIX网络编程
中的事件驱动I/O(AIO)。他不需要过多的Selector对注册的通道进行轮询即可实现异步读写,从而简化了NIO的编程模型。
wwyh520
·
2020-07-08 12:33
IO编程
netty
《
unix网络编程
》(12)五种I/O模型
《
unix网络编程
》(11)tcp服务器的几种常见状况分析的“服务器进程终止”提到客户阻塞于fgets所以没办法收到服务器发的FIN,只有当客户再次输入文本并发送给服务器后才会从套接字中读取,这时才知道服务器的状态
Sunshine_top
·
2020-07-08 10:48
UNIX网络编程
Ubuntu下实现的网络编程
《
Unix网络编程
》 多进程并发服务器基本模型
多进程并发服务器的基本原理是:对于每一个客户的访问请求,都fork一个子进程来处理这个请求。程序轮廓:pid_tpid;intlistenfd,connfd;listenfd=Socket(...);Bind(listenfd,LISTENQ);while(1){connfd=Accept(listenfd,...);if((pid=fork())==0){//子进程关掉listenfd,给客户c
thinkerleo7798
·
2020-07-08 07:58
UNIX/Linux
网络协议与网络编程
UNIX/Linux网络编程
网络编程
unix
socket
服务器
并发
linux下socket通信常用的结构与头文件
参考书籍:《TCP/IP详解,卷1:协议》《TCP/IP详解卷2:实现》《计算机网络第五版》谢希仁《
unix网络编程
》1.错误提示:a)Connectionrefused:连接被拒绝2.Socket通信常用的头文件
共产主义不愁女友
·
2020-07-08 03:42
Linux
Program
在阻塞式的tcp连接中使用recv接收数据未达到指定长度返回问题
引用《
UNIX网络编程
卷一套接字联网API》3.9中的说法:字节流套接口(如tcp套接口)上的read和write函数所表现的行为不同于通常的文
qlt445
·
2020-07-07 19:08
socket
I/O基础知识
根据
UNIX网络编程
对I/O模型的分类,UNI
codersm
·
2020-07-07 17:56
UNIX网络编程
1.1客户端程序和服务端程序网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接.一般的来说是服务端的程序在一个端口上监听,直到有一个客户端的程序发来了请求.1.2常用的命令由于网络程序是有两个部分组成,所以在调试的时候比较麻烦,为此我们有必要知道一些常用的网络命令netstat命令netstat是用来显
王维尼
·
2020-07-07 10:46
关于网络编程(服务端)的一些笔记
针对服务器处理网络连接的几种方式,
unix网络编程
里给出了9种方案,并且对服务器进程/线程的开销做了一个量化的比较。
husthan
·
2020-07-07 10:29
网络
编程
socket
服务器
unix
apache
套接字编程相关函数(2:TCP套接字编程相关函数)
本文摘录自《
UNIX网络编程
卷1》。基本套接字函数socket函数为了执行网络I/O,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型。
aahnm075262
·
2020-07-07 02:42
TCP回射服务器
这就是所谓的回射服务器,我们可以去看看《
unix网络编程
卷一》。它的一个大概思路就是:服务器是一个并发服务器,所以当连接到来时,会fork一个子进程来对客户请求进行处理。
CPP后台服务器开发
·
2020-07-07 00:09
Unix网络编程
linux网络编程
Linux (UDP和TCP)循环服务器
Linux(UDP和TCP)循环服务器参考:https://blog.csdn.net/tennysonsky/article/details/45671215《
unix网络编程
》按照处理方式分为:循环服务器和并发服务器
CPP后台服务器开发
·
2020-07-07 00:28
Unix网络编程
linux网络编程
IO模型(select, poll, epoll的区别和原理)
参考《
unix网络编程
》参考http://blog.csdn.net/blueboy2000/article/details/4485874参考http://blog.csdn.net/suxinpingtao51
见贤思齐,见不贤而内自省
·
2020-07-06 20:18
socketpair学习笔记
这是从
unix网络编程
第一卷中粘贴出来的socketpair返回2个文件描述符sockfd[0]是写文件,sockfd[1]是读文件。
托拉丝丝
·
2020-07-06 14:52
学习记录
UNIX网络编程
--socket中的同步/异步 阻塞/非阻塞
1.概念理解在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事异步:异步的概念和同步相对。
鱼思故渊
·
2020-07-06 11:06
linux环境高级编程
Unix网络编程
——Mongoose开源项目源码解读(1):概述
参考资料:https://docs.cesanta.com/mongoose/master/源码下载地址:https://github.com/cesanta/mongoose当前最新版本号:Mongoose6.7声明:本文章参照Mongoose网站说明,可视为其简略翻译,只做学习记录使用,由于能力有限,不保证一定准确无误。如需转载请注明出处,谢谢~简述:Mongoose前身为shttpd,使用标
卢然小子
·
2020-07-06 01:50
【Linux网络编程学习】
网络编程释疑之:同步,异步,阻塞,非阻塞
既然网络上众说纷纭,不如找个权威参考一下,这个权威就是《
UNIX网络编程
:卷一》第六章——I/O复用。书中向我们提及了5种类UNIX下可用的I/O模型:阻塞式
StackOverFlower
·
2020-07-05 20:59
LINUX
阻塞
非阻塞
同步
异步
IO
linux网络编程---心跳检测
UNIX网络编程
不推荐使用SO_KEEPALIVE来做心跳检测,还是在业务层以
gogiqp_jyh
·
2020-07-05 15:51
c++
Linux IPC开发者性能测试
性能测试代码和思路主要基于
UNIX网络编程
第二卷[St
sunwake999
·
2020-07-05 13:13
linux
c
网络
2015及2016计划
2015未完成工作:1.英语词汇量5K,每天早上抽时间练习2.多陪孩子和家人,多锻炼身体3.主动交流4.
unix网络编程
(卷1)2016/2017年计划:1.程序员修炼之道2.UNIX编程艺术3.深入理解计算机系统
Sunny04
·
2020-07-05 13:54
其他
工作计划
书单
深入理解计算机系统5.鸟哥的Linux私房菜6.程序员的自我修养7.linux程序设计8.现代操作系统9.unix环境高级编程10.Linux内核设计与实现11.计算机网络自顶向下分析方法12.http权威指南13.
unix
不知名小号
·
2020-07-05 06:33
蓝牙架构(9)—— 4 通信拓扑(4.1. 微微网拓扑 & 4.2 操作过程和模式)
Vol1
架构和术语概述PartA4通信拓扑Agenda:PartA4.通信拓扑.4.1.微微网拓扑.4.1.1BR/EDR拓扑.4.1.2LE拓扑.4.2操作过程和模式.4.2.1BR/EDR过程.4.2.2LE
堂堂躺雨没
·
2020-07-05 01:26
躺雨没的学习笔记——蓝牙架构
蓝牙架构(3)—— 1 蓝牙概述 (1.3 AMP概述 & 1.4 术语命名 & 1.5 总结)
Vol1
架构和术语概述PartA1总体概述Agenda:1.3AMP操作概述.1.4术语命名.1.5总结.1.51物理层.1.5.2逻辑层.1.5.3L2CAPChannels1.5.4Profiles1.5.5
堂堂躺雨没
·
2020-07-05 01:26
躺雨没的学习笔记——蓝牙架构
蓝牙架构(6)—— 3 数据传输架构(3.1 核心传输载体)
Vol1
架构和术语概述PartA3数据传输架构Agenda:3.1.核心传输载体.3.1.1.帧化数据传输.3.1.2非帧化数据传输.3.1.3通信量载体的可靠性.PartA3数据传输架构(190页)Bluetooth
堂堂躺雨没
·
2020-07-05 01:26
躺雨没的学习笔记——蓝牙架构
蓝牙架构(1)—— 1 蓝牙概述 (1.1 BR/EDR概述)
Vol1
架构和术语概述PartA1总体概述Agenda:1.1BR/EDR概述。1.1.1基础通信模型。1.1.2跳频。1.1.3时间槽(sLot)。1.1.4物理信道和物理连接。
堂堂躺雨没
·
2020-07-05 01:26
躺雨没的学习笔记——蓝牙架构
蓝牙架构(10)—— 5 安全概述(5.1 安全架构 & 5.2 BR / EDR安全简单配对 & 5.3 仅安全连接模式 &5.4 LE安全)
Vol1
架构和术语概述PartA5安全概述Agenda:PartA5安全概述.5.1安全架构.5.2BR/EDR安全简单配对.5.2.1安全目标.5.2.2被动窃听保护.5.2.3中间人Man-In-The-Middle
堂堂躺雨没
·
2020-07-05 01:26
躺雨没的学习笔记——蓝牙架构
蓝牙架构(4)—— 2 蓝牙系统架构 (2.0 核心系统架构)
Vol1
架构和术语概述PartA2蓝牙系统架构Agenda:2.0核心系统架构.2.0.1蓝牙BR/EDR最小系统.2.0.3蓝牙BR/EDR/LE最小系统.2.0.4蓝牙核心规范描述内容.2.0.5蓝牙核心系统中的服务
堂堂躺雨没
·
2020-07-05 01:26
躺雨没的学习笔记——蓝牙架构
蓝牙架构(8)—— 3 数据传输架构(3.4 物理链路 & 3.5逻辑链路和逻辑传输 & 3.6 L2CAP 信道)
Vol1
架构和术语概述PartA3数据传输架构Agenda:3.4物理链路.3.4.1基础微微网和适应型微微网物理信道支持的BR/EDR链路.3.4.2扫描物理信道支持的链路.3.4.3LE物理信道支持的
堂堂躺雨没
·
2020-07-05 01:54
躺雨没的学习笔记——蓝牙架构
蓝牙架构(5)—— 2 蓝牙系统架构 (2.1 核心架构模块)
Vol1
架构和术语概述PartA2蓝牙系统架构Agenda:2.1核心架构模块.2.1.1主机架构块.2.1.2BR/EDR/LE控制器架构模块.2.1.3AMP控制器架构模块.2.1核心架构模块(185
堂堂躺雨没
·
2020-07-05 01:54
躺雨没的学习笔记——蓝牙架构
基于tcp协议的简单多并发服务器-c语言
tcp协议的基本情况在此就不详细介绍,上图是《
UNIX网络编程
》书里的一张图,此图直观的展现了tcp服务器和客户是如何开始通信、进行通信和结束通信的全过程。
artree_hao
·
2020-07-05 01:36
关于:socket阻塞、非阻塞,同步、异步、I/O模型
Ps:参考《
UNIX网络编程
:卷一》1、“同步”和“异步”如果单单理解这两个概念还是很好区分的:同步:处理事情的的时候需要串行执行,也就是说做完一件再去做另一件,不管是否需要时间等待。
mrwangwang
·
2020-07-05 00:14
linux相关
Java AIO初探(异步网络IO)
按照《
Unix网络编程
》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?
小林2
·
2020-07-04 23:51
J2ee
陈硕的cpp博客
置顶随笔[置顶]新书预告:《LinuxC++多线程服务端编程》(暂定名)看完了W.RichardStevens的传世经典《
UNIX网络编程
》,能照着例子用SocketsAPI编写echo服务,却仍然对稍微复杂一点的网络编程任务感到无从下手
ilvu999
·
2020-07-04 18:43
C++
日拾朝夕--09112017
每日一习1.
Unix网络编程
,socket编程(今天写作点);2.Youneedtowidenyourhorizens.Youonlygetonelife,itisactuallyyourdutytoliveitasfullyaspossible
sophietyl
·
2020-07-04 16:44
UNIX网络编程
——常用套接字选项(SOL_SOCKET级别)
[cpp]viewplaincopyprint?#includeintsetsockopt(intsocket,intlevel,intoption_name,constvoid*option_value,size_toption_len);第一个参数socket是套接字描述符。第二个参数level是被设置的选项的级别,如果想要在套接字级别上设置选项,就必须把level设置为SOL_SOCKET。
jarkeet
·
2020-07-04 15:43
unp
Linux多线程服务端编程:使用muduo C++网络库
常见的并发网络服务程序设计方案W.RichardStevens的《
UNIX网络编程
(第2版)》第27章“Client-ServerDesignAlternatives”介绍了十来种当时(20世纪90年代末
博文视点
·
2020-07-04 12:13
Web开发
脚本语言
软件工程
UNIX网络编程
:信号量semphore
信号量是一种用于提供不同进程间或一个给定进程的不同线程件同步手段的原语.信号量是一个特殊的整数值,主要用来控制多个进程对临界资源的互斥访问,进程根据信号量来判断是否有访问的资源。信号量是一个计数器,可用于同步多进程对共享数据对象得访问,为了获得共享资源,进程需要执行以下操作:1、测试控制该资源的信号量2、若此信号量的值为正,则进程可以使用该资源,进程将信号量值减1,表示它使用了一个资源单位3、若此
Dandelion_gong
·
2020-07-04 05:28
UNIX网络编程
Socket编程实现简单的C/S交互
主要看了下《
UNIX网络编程
卷1:套接字联网API(第3版)》里面对socket、bind、listen、accept、connect等函数的介绍。
Besko
·
2020-07-04 04:25
UNIX网络编程
——TCP—经受时延与nagle算法、滑动窗口、拥塞窗口
1、经受时延:TCP在接收到数据时并不立即发送ACK,相反,它推迟发送,以便将ACK与需要沿该方向发送的数据一起发送,时延为200ms,超过时延范围,发送确认。2、nagle算法:一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组的确认到达之前不能发送其他的小分组。TCP收集这些少量的分组,在确认到来时以一个分组的方式发出去3、滑动窗口窗口的左边沿向右边沿靠近为窗口合拢。这种现象发生
weixin_34161029
·
2020-07-04 03:24
Linux下简单的socket通信实例
—BruceLee学习网络编程也一段时间了,刚开始看《
UNIX网络编程
》的时候,觉得这本厚厚的书好难啊!看到后来,发现并没有想象中的那么难。如果你是新手,建议你看到第二部分结束后,开始着手写代码。
weixin_30273175
·
2020-07-04 02:10
如何提升并发能力 和 IO 多路复用及实现
1.五种IO模型
Unix网络编程
中提到了5种网络模型BlockingIO阻塞式IO,一次只能处理一个请求。
AllardZhao
·
2020-07-04 01:04
计算机网络
蓝牙架构(7)—— 3 数据传输架构(3.2. 传输架构实体 & 3.3 物理信道)
Vol1
架构和术语概述PartA3数据传输架构Agenda:3.2.传输架构实体.3.2.1BR/EDR通用数据包结构.3.2.2LE通用数据包结构.3.3物理信道.3.3.1BR/EDR物理信道.3.3.2LE
堂堂躺雨没
·
2020-07-04 01:30
躺雨没的学习笔记——蓝牙架构
2015~2016年学习计划
C编程指南》林锐编程基础和数据结构2《深入理解计算机系统》第二版3《算法导论》第三版4《代码大全》5《Unix环境高级编程》6《TCP/IP详解卷1:协议》网络编程7《TCP/IP详解卷2:实现》8《
UNIX
lightd
·
2020-07-04 00:37
嵌入式Linux
UNIX网络编程
----多进程并发服务器(这样就支持多个客户端连接了)
这个服务器在迭代式echo服务器的基础上增加了多进程功能,因此就可以同时与多个客户端连接并通信了。另外,还加入了SIGCHILD的信号处理机制,防止出现“僵尸进程”。迭代式echo服务器链接程序源码:#include#include#include#include#include#include#include#include#defineMAXLINE4096#defineSERV_PORT98
liyandong1204
·
2020-07-02 09:38
linux/unix
记录一下后几年要看的书
在学编译原理前最好先学下yacc和lex基础知识:深度探索C++对象模型C程序设计语言数据结构与算法(这方面的书感觉很多,但是可能自己理解力不够,感觉都不怎么适应,接下来再找找)STL源码剖析操作系统:unix环境高级编程
unix
linyilong3
·
2020-07-02 08:53
多个进程能否监听同一个端口号?
根据
Unix网络编程
中的知识可知,服务端监听一个端口会经历:1、根据套接字类型(Ipv4,Ipv6等)创建套接字socket2、将套接字
小弟季义钦
·
2020-07-02 05:32
计算机网络
操作系统
TCP协议疑难杂症全景解析
因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《
Unix网络编程
》以及Linux源代码之外,学习网络更好的资
iteye_5014
·
2020-07-02 04:47
UNIX网络编程
--传输层:TCP、UDP、SCTP(二)
UNIX网络编程
----传输层:TCP、UDP、SCTP一、概述本章的焦点是传输层:包括TCP、UDP、和SCTP(流控制传输协议)。SCTP是一个较新的协议,最初设计用于跨因特网传输电话信令。
iteye_18480
·
2020-07-02 04:42
《
UNIX网络编程
卷1》之源码使用方法(for Ubuntu-10.04)
《
UNIX网络编程
卷1》的源码可以从www.unpbook.com下载得到。解压之后的目录为unpv13e。详细步骤编译进入unpv13e目录,按如下步骤编译:.
刘小易
·
2020-07-02 03:11
Linux
端口复用--socket编程:SO_REUSEADDR例解
其实这个问题在RichardStevens的《
Unix网络编程
指南》卷一里有很详细的解答(中文版P166-168页)。这里我只是写几个基本的例子来验证这个问题。
gengye304
·
2020-07-02 00:18
ubuntu
常见错误解决
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他