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网络编程》
one thread per connection 的好处和弱点
具体采用的模型可能是《
unix网络编程
》(第二版,中文版)27.12TCP预先创建线程服务器程序,主线程统一accept。
iteye_17143
·
2020-07-11 08:45
网络编程
网络编程常见问题总结(转载)
这里主要针对的是我们常用的TCPsocket相关的总结,可能会存在错误,有任何问题欢迎大家提出..e3Y0@*_-e1G-B%R对于网络编程的更多详细说明建议参考下面的书籍$Y+D0[%j.G&K)Z《
UNIX
chinese_darren_
·
2020-07-11 03:07
网络
网络编程
常见问题
同步
异步
程序性能分析及性能测试
如图1是《
UNIX网络编程
》一书中表示网络交互过程的一幅图,
micweaver
·
2020-07-10 22:03
走进Linux内核网络 套接字的秘密—socket与sock
究其原因,主要是人文类的通常都是自己想看的,而技术类的就跟风看哪个销量大买哪个,比如下面这本《
UNIX网络编程
》如果现在让我给别人推荐学习网络编程的书,我一定不会推荐这本。为什么呢?
187J3X1
·
2020-07-10 16:23
UNIX网络编程
笔记(12)—非阻塞IO
非阻塞I/O本章了解原理没有特意去深入学习。1.概述套接字默认状态是阻塞的。也就是说当发出一个不能立即完成的套接字调用时,进程将被投入睡眠,等待相应操作的完成,一般分为四类:1.输入操作:包括read、readv、recv、recvfrom、recvmsg这5个函数。当套接字缓冲区没数据可读时,进程将被投入睡眠状态,直到有数据可达。2.输出操作:包括write、writev、send、snedto
NearXDU
·
2020-07-10 14:06
UNIX网络编程(卷1)
TCP/IP学习(四)TCP缓冲区大小及限制
主要参考
UNIX网络编程
。(1)数据报大小IPv4的数据报最大大小是65535字节,包括IPv4首部。因为首部中说明大小的字段为16位。
ysu108
·
2020-07-10 13:52
TCP与服务器
UNIX网络编程
——非阻塞accept
当有一个已完成的连接准备好被accept时,select将作为可读描述符返回该连接的监听套接字。因此,如果我们使用select在某个监听套接字上等待一个外来连接,那就没有必要把监听套接字设置为非阻塞,这是因为如果select告诉我们该套接字上已有连接就绪,那么随后的accept调用不应该阻塞。不幸的是,这里存在一个可能让我们掉入陷阱的定时问题。为了查看这个问题,我们把TCP回射客户程序改成建立连接
weixin_34408624
·
2020-07-10 09:33
UNIX网络编程
——非阻塞式I/O(套接字)
套接字的默认状态是阻塞的。这就意味着当发出一个不能立即完成的套接字调用时,其进程将被投入睡眠,等待相应的操作完成。可能阻塞的套接字调用可分为以下4类:(1)输入操作,包括read,readv,recv,recvfrom和recvmsg共5个函数。如果某个进程对一个阻塞的TCP套接字(默认设置)调用这些输入函数之一,而且该套接字的接收缓冲区中没有数据可读,该进程将被投入睡眠,直到有一些数据到达。既然
weixin_33694620
·
2020-07-10 07:27
Socket连接超时设置
原文连接:https://blog.csdn.net/daiyudong2020/article/details/50675219一.基本概念(摘自:《
unix网络编程
》卷114.2套接字超时)在涉及套接字的
NJUdudu
·
2020-07-10 05:56
unix网络编程
Linux下Socket通信中非阻塞connect的注意事项
在网上查了一些资料,自己也看了一下《
Unix网络编程
》相关章节。对于编程过程中遇到的一些问题,希望通过本文表达出来。
亚了个军
·
2020-07-10 04:59
Linux网络编程
UNIX网络编程
卷1:套接字联网-第16章:非阻塞式I/O
1.可能阻塞的4类套接字调用:1)输入操作,包括read,readv,recv,recvfrom,recvmsg。对于非阻塞的套接字,如果输入操作不能被满足(对于TCP套接字即至少有一个字节的数据可读,对于UDP套接字即有一个完整的数据报可读),相应调用将立即返回一个EWOULDBLOCK错误。2)输出操作,包括write、writev、send、sendto和sendmsg。对于一个非阻塞的TC
五癫
·
2020-07-10 03:52
UNIX网络编程卷1
《
UNIX网络编程
》中五种I/O方式总结和对比
UNIX提供了五种不同的I/O模型:阻塞式I/O模型非阻塞式I/O模型I/O复用模型信号驱动式I/O模型异步I/O模型阻塞式I/O模型阻塞式I/O模型是最基本的I/O模型。在默认情况下,所有套接字都是阻塞的,以数据报套接字为例:当系统调用recvfrom系统调用函数时,当内核socket缓冲区中这个套接字数据报准备好时,将数据从内核缓冲区复制到用户空间,复制完成的时函数返回成功。当发生错误时rec
thinkerleo7798
·
2020-07-10 03:42
UNIX/Linux
网络协议与网络编程
网络编程
unix
socket
io
unix网络编程
(五)--IO复用+非阻塞
AtinyintroductiontoasynchronousIO链接:http://www.wangafu.net/~nickm/libevent-book/01_intro.htmlLinux下的非阻塞IO(一)Linux非阻塞IO(二)网络编程中非阻塞IO与IO复用模型结合Linux非阻塞IO(三)非阻塞IO中缓冲区Buffer的实现Linux非阻塞IO(四)非阻塞IO中connect的实现
sunny_ss12
·
2020-07-10 02:14
linux服务器编程
UNP-
UNIX网络编程
第十六章:非阻塞式I/O
(一)概述套接字默认状态是阻塞的。也就是说当发出一个不能立即完成的套接字调用时,进程将被投入睡眠,等待相应操作的完成,一般分为四类:1.输入操作:包括read、readv、recv、recvfrom、recvmsg这5个函数。当套接字缓冲区没数据可读时,进程将被投入睡眠状态,直到有数据可达。2.输出操作:包括write、writev、send、snedto和sendmsg这5个函数。如果发送缓冲区
幻世111
·
2020-07-09 21:55
后端(基础)
关于信号中断与慢系统调用的深度发现
这段时间在看
Unix网络编程
卷1,在5.9节处理SIGCHLD信号,关于处理僵死进程第四步如下写道:信号是在父进程阻塞于慢系统调用(accept)时由父进程捕获的,内核就会使慢系统调用(accept)返回一个
磐石区
·
2020-07-09 21:11
C
【
UNIX网络编程
】五种I/O模型,阻塞非阻塞同步异步问题详解
IO复用在写简单的TCP/IP服务器-客户端程序时,客户端要同时处理两个输入:标准输入TCP套接字在结束的时候,因为客户端正阻塞于标准输入上的read函数,服务器TCP虽然正确的给客户TCP发送了一个FIN,但是既然客户进程正在阻塞于从标准输入读入的过程,他将看不到这个EOF,直到从套接字读时为止。这样的进程需要一种预先告之内核的能力,使得内核一旦发现进程指定的一个或多个I/O条件就绪,即输入已经
长着胡萝卜须的栗子
·
2020-07-09 19:45
Linux
Unix网络编程
之socket阻塞与非阻塞模式下函数调用结果分析
套接字默认状态是阻塞的,这就意味着当发出一个不能立刻完成的套接字调用时,其进程将被投入睡眠,等待相应操作完成。可能阻塞的套接字调用可分为四类:(1)输入操作:read,readv,recv,recvfrom,recvmsg,如果某个进程对一个阻塞的TCP套接字调用这些输入函数之一,而套接字的接收缓冲区中没有数据可读,该进程将被投入睡眠中,直到有些数据到达。TCP是字节流协议,该唤醒就是要有数据到达
LIFELORD
·
2020-07-09 19:14
Unix网络编程卷一学习记录
Unix网络编程
代码 第16章 非阻塞式I/O
Unix网络编程
代码第16章非阻塞式I/O2012年01月15日[b]第16章非阻塞式I/O[/b][b]16.2非阻塞读和写:str_cli函数(修订版)[/b]//使用select#include/
iteye_12391
·
2020-07-09 17:15
技术杂绘
UNIX网络编程
1 理解同步、阻塞、非阻塞、异步网络I/O
本文侧重的是网络I/O,如blocking、non-blocking、I/Omultiplexing(eventdrivenI/O)、signal-driven(不常用)、asynchronous这几种
UNIX
hustsselbj
·
2020-07-09 17:18
网络基础
Unix网络编程
:阻塞、非阻塞、同步io、异步io的区别
在《
Unix网络编程
》一书中讲到:在进行读操作的时候,一般要经历两个步骤,分别是内核准备数据(waitingforthedatatobeready)和将数据从拷贝到数据区(copyingthedatafromkerneltotheprocess
Rainloving
·
2020-07-09 11:39
linux
数据结构
UNIX网络编程
:I/O复用技术(select、poll、epoll)
Unix下可用的I/O模型一共有五种:阻塞I/O、非阻塞I/O、I/O复用、信号驱动I/O、异步I/O。此处我们主要介绍第三种I/O符复用。I/O复用的功能:如果一个或多个I/O条件满足(输入已准备好读,或者描述字可以承接更多输出)时,我们就被通知到。这就是有select、poll、epoll实现。I/O复用应用场合:1、当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。
Dandelion_gong
·
2020-07-09 10:47
UNIX网络编程
UNIX网络编程
----非阻塞式I/O(十六)
UNIX网络编程
-----非阻塞式I/O一、概述套接字的默认状态是阻塞的。
鱼思故渊
·
2020-07-09 10:52
linux网络编程
Linux多进程服务器模板
Linux/
UNIX网络编程
-多进程服务器模板掌握多进程服务器的编写模版;掌握多进程程序的编写方法客户端:连接服务器,接收用户输入客户名字,并传递给服务器,接着接收用户输入的字符串,传给由服务器,返回服务器处理后的字符串显示
俐酱呐
·
2020-07-09 03:47
多进程
Unix网络编程
之读写操作recv和send函数
函数原型#includessize_trecv(intsockfd,void*buff,size_tnbytes,intflags);ssize_tsend(intsockfd,constvoid*buff,size_tnbytes,intflags);参数说明:sockfd—表示一个打开的套接口描述字buff—表示一个指向发送或者接受缓冲区的指针nbytes—表示要发送的字节数flags—参数通
acjunt
·
2020-07-09 02:20
网络编程
技术书单
《
Unix网络编程
卷1,套接字》这是一本看完你就明白网络编程的书。重要注意TCP、UDP,以及多路复用的系统调用select/poll/epoll的差别。
jianb-wang
·
2020-07-09 00:25
日常杂谈
Unix网络编程
——常见服务器模型
**常见服务器模型:**-循环服务器-并发服务器简单的并发服务器模型使用线程池或进程池的服务器模型使用I/O复用的并发服务器模块UDP循环服务器模型//UDP循环服务器模型structsockaddr_inlocal_addr,accept_addr;//填充local_addr,略//使用SOCK_DGRAM调用socket创建UDP套接字intsockfd=socket(AF_INET,SOC
卢然小子
·
2020-07-08 18:44
【Linux网络编程学习】
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
基于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
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他