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网络编程
卷一:第十六章 非阻塞I/O
套接字的默认状态是阻塞的。当发出一个套接字调用,但是不能立即完成时,该进程被投入睡眠。可阻塞的套接字调用有4类:1)输入操作 read readvrecvrecvfrom recvmsg 某进程对一个阻塞的TCP套接字调用这些输入函数,并且该套接字的接受缓冲区种没有数据可读,该进程被投入睡眠,直到有一些数据到达。 因为TCP是字节流协议,该进程的唤醒就是只有一些数据到达(可能不是
chj90220
·
2015-08-13 10:00
UNIX网络编程
1 理解同步、阻塞、非阻塞、异步网络I/O
本文侧重的是网络I/O,如blocking、non-blocking、I/Omultiplexing(eventdrivenI/O)、signal-driven(不常用)、asynchronous这几种
UNIX
hustsselbj
·
2015-08-12 16:00
unix
同步
阻塞
网络编程
UNIX网络编程
卷一:第十五章 Unix域套接字
Unix域协议它并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法.在UNPvol2--IPC(进程间通信)中,Unix域协议可以当作一种IPC方法.Unix域提供两类套接字:1)字节流套接字(类似TCP)2)数据报套接字(类似UDP)为什么使用Unix域套接字?1)当通信两端位于同一主机上时,Unix域套接字要快.2)可用于在同一主机上不同进程间传递描述符.3)它把客户凭证(
chj90220
·
2015-08-12 14:00
UNIX网络编程
卷一:第十四章 高级I/O
高级I/O可设置超时时间read和write的三个变体:1)recvsend:通过第四个参数从进程到内核传递标志2)readvwritev:允许指定往其中输入数据或从其中输出数据的缓冲区向量.3)recvmsgsendmsg:结合了其他I/O函数的所有特性,并具备接收和发送辅助数据的新能力.套接字超时在套接字I/O上设置超时有3种方法:1)调用alarm(信号处理)它在指定超时期满时产生SIGAL
春泥面包
·
2015-08-12 10:13
Unix网络编程vol1
UNIX网络编程
卷一:第十四章 高级I/O
高级I/O可设置超时时间read和write的三个变体: 1)recv send :通过第四个参数从进程到内核传递标志 2)readv writev:允许指定往其中输入数据或从其中输出数据的缓冲区向量. 3)recvmsg sendmsg:结合了其他I/O函数的所有特性,并具备接收和发送辅助数据的新能力.套接字超时在套接字I/O上设置超时有3种方法:1)调用alarm(信号处理) 它在
chj90220
·
2015-08-12 10:00
UNIX网络编程
卷一:第十三章 守护进程和inetd超级服务器
守护进程(daemon)是在后台运行且不与任何控制终端关联的进程。因为它们通常由系统初始化脚本启动。守护进程有多种启动方式:1、由系统初始化脚本启动。如inetd,Web2、由inetd超级服务器启动。inetd监听网络请求,当有一个请求到达时,启动相应的实际服务器(Telnet,FTP等)3、cron守护进程按照规则定期执行一些程序。这些程序也作为daemon运行。4、at命令,指定将来的某个时
春泥面包
·
2015-08-11 16:25
Unix网络编程vol1
UNIX网络编程
卷一:第十三章 守护进程和inetd超级服务器
守护进程(daemon)是在后台运行且不与任何控制终端关联的进程。因为它们通常由系统初始化脚本启动。守护进程有多种启动方式:1、由系统初始化脚本启动。如inetd,Web2、由inetd超级服务器启动。inetd监听网络请求,当有一个请求到达时,启动相应的实际服务器(Telnet,FTP等)3、cron守护进程按照规则定期执行一些程序。这些程序也作为daemon运行。4、at命令,指定将来的某个时
chj90220
·
2015-08-11 16:00
syslog
UNIX网络编程
卷一:第十一章 名字与地址转换
名字和数值地址间的转换函数(IPV4):gethostbynamegethostbyaddr服务名字和端口号之间转换:getservbynamegetservbyport协议无关函数:getaddrinfo :主机名字和IP之间的转换getnameinfo:服务名字和端口号协议无关的tcp创建函数:使用getaddrinfo,有助于编写协议无关的函数,不过需要填写一个addrinfo来告诉geta
chj90220
·
2015-08-11 15:00
UNIX网络编程
卷一:第六章 I/O 复用 select, poll
什么时候使用?当需要同时处理多个描述符时,需要使用I/O复用。Unix下可用的5种I/O模型1、阻塞I/O2、非阻塞I/O3、I/O复用(select poll)4、信号驱动I/O(SIGIO)5、异步I/O(POSIX的aio_系列函数)一个输入操作通常包括两个不同的阶段:1、等待数据准备好 (等待数据从网络中到达,当所等待的分组到达时,它被复制到内核中的某个缓冲区。)2、从内核向进程复制数据如
chj90220
·
2015-08-10 10:00
UNIX网络编程
卷一:第五章 TCP客户/服务器程序实例
POSIX信号处理信号:1、由一个进程发送给另一个进程。2、由内核发送给某个进程。如SIGCHLD信号就是由内核在任何一个进程终止时,发送给该进程的父进程。每个信号有一个与之关联的处置,或称为行为(action)(信号处理函数)。可以通过sigaction函数设置信号的行为。1)设置信号处理函数这种行为称为捕获信号。但是有两个信号不能被捕获:SIGKILLSIGSTOP。信号处理函数的原型为:vo
chj90220
·
2015-08-07 14:00
UNIX网络编程
卷一:第四章 基本TCP套接字编程
客户端在调用connect前,不必非得调用bind,因为如果需要的话,内核会确定源IP地址,并选择一个临时端口作为源端口。如果是TCP套接字,调用connect会激发TCP的“三次握手”。listen调用listen后的套接字,称为监听套接字,listen把一个未连接的套接字转换成一个被动套接字,指示内核应接受指向该套接字的连接请求。内核为监听套接字维护两个队列:1、未完成连接队列,每个SYN分节
chj90220
·
2015-08-03 19:00
Unix网络编程
-----阅读笔记(1)
一、常见socket函数1.函数原型:intsocket(intfamily,inttype,intprotocol),若成功返回非负描述符。例子:listenfds=socket(AF_INET,SOCK_STREAM,0);family:表示协议族,ipv4,ipv6type:表示套接字类型,字节流套接字,数据报套接字protocol:传输协议,tcp,udp,sctp2.函数原型:intco
丿咫尺天涯
·
2015-07-30 21:28
网络编程
Unix网络编程
-----阅读笔记(1)
一、常见socket函数1. 函数原型:intsocket(intfamily,inttype,intprotocol),若成功返回非负描述符。例子: listenfds=socket(AF_INET,SOCK_STREAM,0);family:表示协议族,ipv4,ipv6type:表示套接字类型,字节流套接字,数据报套接字protocol:传输协议,tcp,udp,sctp
a2796749
·
2015-07-30 21:00
UNIX网络编程
卷一:第三章 套接字编程简介
套接字地址结构该结构在两个方向上传递:从进程到内核和从内核到进程。适用于IPV4的地址转换函数为:inet_addr、inet_ntoa适用于IPV4和IPV6的地址转换函数:inet_pton,inet_ntop每个协议族都定义它自己的套接字地址结构,它们均以sockaddr_开头,并以协议族的唯一后缀结尾。如IPV4套接字地址结构同城称为:“网际套接字地址结构”,它的名字为socketaddr
chj90220
·
2015-07-29 08:00
套接字地址结构
SO_REUSEADDR
(摘自《
Unix网络编程
》卷一,即UNPv1)1、当有一个有相同本地地址和端口的socket1处于TIME_WAIT状态时,而你启动的程序的socket2要占用该地址和端口,你的程序就要用到该选项。
najiutan
·
2015-07-28 11:00
unix网络编程
源码编译问题
获得更多资料欢迎进入我的网站或者csdn或者博客园今天在温习计算机网络时,突然将我很久前买的《
unix网络编程
第三版卷一》拿出来看看了。放了两年了,哈哈。
peace1213
·
2015-07-23 21:00
socket
unix
UNIX网络编程
卷一:第二章 传输层:TCP、UDP
TCP(TransmissionControlProtocol)传输控制协议,是一个复杂、可靠到字节流协议。面向连接的协议,为用户进程提供可靠的全双工字节流。TCP关心确认、超时和重传之类的细节。UDP(UserDatagramsocket)一个简单的、不可靠的数据报协议。无连接协议,不能保证最终到达目的地。UDP应用进程往一个UDP套接字写入一个消息,该消息随后被封装(encapsulating
chj90220
·
2015-07-22 14:00
UNIX网络编程
卷一:第一章 简单的客户端服务器程序
//从服务器读取时间 //client.c #include #include #include #include //exit #include//socketaddr_in #include //bzero #include //inet_pton #include //read #define MAXLINE 4096 /*ma
chj90220
·
2015-07-21 18:00
《
unix网络编程
》读书笔记——(一)套接字地址结构
常用套接字地址结构:1.IPv4套接字地址结构#include structsockaddr_in{ unit8_tsin_len;//lengthofstructure(16) sa_family_tsin_family;//AF_INET in_port_tsin_port;//16-bitTCPorUDPportnumber,networkbyteordered structin_addrs
u012515915
·
2015-07-21 08:00
linux
unix
网络编程
read/write函数
关于第二层面,依然建议Richard Stevens的《Unixnetworkproggramming,vol1》(
Unix网络编程
卷1),这两本书公认是
Unix网络编程
的圣经。
stefan1240
·
2015-07-19 13:00
socket
readwrite
网络IO之阻塞、非阻塞、同步、异步总结
unix网络编程
第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一遍时候,似懂非懂,没有深入理解。
BearCatYN
·
2015-07-15 17:00
同步
非阻塞
阻塞
网络IO
异步总结
【
UNIX网络编程
】客户/服务器程序设计范式
前言:这本
UNIX网络编程
到这里也就结束了,回想一下,确实自己后一段的学习有放松了,昨天和同学交流,他说他每天十二点睡,早上4.30起床,学习到8.30再去实验室做老师的活,想来我这一部书第一遍就学习了两个月
yw8355507
·
2015-07-01 19:00
【
UNIX网络编程
学习】线程特定数据
本博客转载自http://blog.csdn.net/cogbee/article/details/9990273Cogbee的专栏前言:这一部分的学习其实是第一次,虽然看书的时候理解了,但是感觉这部分相对复杂,需要好好总结一下,但是回头翻书发现大部分内容只能照搬书上的知识,因此选择转载别人的文章,等到自己有新的体验的时候再来自己写。转载内容:1、首先,为什么要使用线程特定数据呢?什么是线程特定数
yw8355507
·
2015-07-01 01:00
【
UNIX网络编程
】第26章 线程总结
前言:这两天又发生了不少的事情,真是诸事不顺,不过这些伤心的事由它去吧,自己的生活还要继续,自己定下来的目标也要去实现,所以没有时间再去伤心了。1.为什么使用线程1.使用多线程的必要性传统的服务器使用为每一个客户调用一次fork,产生一个子进程的方式来处理客户连接,但是fork缺有不少的缺点:a.fork调用昂贵,子进程需要复制父进程的内存,并且要复制所有的描述符。b.fork之后子进程与父进程之
yw8355507
·
2015-06-30 23:00
【
UNIX网络编程
】 22~25 高级UDP套接字编程、高级SCTP 套接字编程、带外数据、信号驱动I/O
本文转自:http://www.cnblogs.com/biyeymyhjob/archive/2012/08/07/2626899.html华山大师兄 的博客前言UNP上这一部分基本上都是一些特别细节的东西,感觉如果自己亲手写的话没有太多的东西有感受,大部分来自照搬UNP课本之中的内容,因此选择转载一篇别人的博客。一、高级UDP套接字编程1.接收标志、目的IP地址和接口索引作为recvmsg的一
yw8355507
·
2015-06-30 01:00
【
UNIX网络编程
】广播与多播
前言继续补上我的博客,这几天专注把【
UNIX网络编程
】的内容总结。1.单播与广播的比较单播过程:中间主机的以太网接口看到该帧,并将它的目的以太网与自己的以太网地址进行比较。
yw8355507
·
2015-06-29 08:00
【
UNIX网络编程
】非阻塞式IO总结
前言这两周又一次忙于项目,不过好在我的考试基本都结束了,所以抓紧速度把UNP这本书全部过了一遍,程序全部编译运行过,重点本分自己手敲了部分代码。现在回来补上自己博客拉下的债了。1.非阻塞的读和写这一部分在unp书上的做法实际上时非常复杂的,为了实现非阻塞的IO读写,创立了两个缓冲区, 1.用来读取来自客户端上的输入,并输出给服务器的 to 缓冲区, 2.用来保存来自服务器返回到客户端上的输入,并输
yw8355507
·
2015-06-29 08:00
NIO(五)—— 五种IO模型?
在《
Unix网络编程
》一书中提到了五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。
guwq2014
·
2015-06-19 15:00
nio
NIO(五)—— 五种IO模型?
在《
Unix网络编程
》一书中提到了五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。
guwq2014
·
2015-06-19 15:00
nio
【
UNIX网络编程
】自学epoll,使用epoll修改回射服务器程序
前言:在阅读并且转载了华科师兄的ipoll详解的文章之后,感觉自己需要亲手使用epoll实现一个程序才行,不然得来的知识是记不住的,于是决定修改
UNIX网络编程
中的回射客户端程序,改用epoll来实现。
yw8355507
·
2015-06-14 17:00
IO多路复用之poll总结
本文转载自:http://www.cnblogs.com/Anker/archive/2013/08/15/3261006.htmlAnker—学习成长笔记 博客转载原因:原因与上一篇的是相同的,《
unix
yw8355507
·
2015-06-13 02:00
【Linux学习】epoll详解
转载原因:学习完
UNIX网络编程
的第十四
yw8355507
·
2015-06-13 01:00
Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
搭建《
unix网络编程
》那本书所需的环境我用的是ubuntu11.10系统:1,安装编译器,为了齐全还是安装一下build-essential[python] viewplaincopysudo apt-get
makeprogresszb
·
2015-06-10 21:00
unix
ubuntu
网络编程中的read,write函数
关于第二层面,依然建议Richard Stevens的《Unixnetworkproggramming,vol1》(
Unix网络编程
卷1),这
makeprogresszb
·
2015-06-09 11:00
socket
函数
read
write
UNIX网络编程
(第3版)环境搭建——使用MAC OSX10.10
1、下载本书的头文件及示例源码原书地址:http://www.unpbook.com/src.html2、解压unpv13e.tar.gz3、切换到unpv13文件夹后依次执行./configurecdlibmakecd../libfreemake此处出现了报错:inet_ntop.c:56:1:error:conflictingtypesfor'inet_ntop'inet_ntop(af,sr
潜力熊
·
2015-06-07 00:06
[网络编程] Linux网络编程经典书籍
分别是《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》,《
Unix网络编程
张某人ER
·
2015-06-06 17:51
学习笔记
网络编程
linux
[网络编程] Linux网络编程经典书籍
分别是《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》,《
Unix网络编程
xinxing__8185
·
2015-06-06 17:00
linux
网络编程
unix网络编程
-第3,4章套接字编程
第3章套接字编程简介1.套接字的基本结构数据定义:structsockaddr{unsignedshortsa_family;/*address族,AF_xxx*/charsa_data[14];/*14bytes的协议地址*/};sa_family一般来说,都是“AFINET”。sa_data包含了一些远程电脑的地址、端口和套接字的数目,它里面的数据是杂溶在一切的。为了处理structsocka
makeprogresszb
·
2015-06-05 10:00
TCP/IP-------MTU、MSS、分片
主要参考
UNIX网络编程
。(1)数据报大小IPv4的数据报最大大小是65535字节,包括IPv4首部。因为首部中说明大小的字段为16位。
a2796749
·
2015-06-04 16:00
Unix网络编程
API
Unix网络编程
API1.字节序函数#includeuint16_thtons(uint16_thost16bitvalue);uint32_thtonl(uint32_thost32bitvalue)
a2796749
·
2015-06-04 15:00
unix网络编程
(unp)----源代码环境搭建
这里涉及到了编写代码,因此要搭建
unix网络编程
环境unix系统我没安装,系统不易获得而且也没必要安装unix。用linux是最佳选择。
wjtyy
·
2015-06-02 18:00
UNIX网络编程
(配置unp.h)
下载unpv13e.tar.gz:http://www.unpbook.com/src.htmlsudo-s-H//切换到root tar-zxvfunpv13e.tar.gz//解压unpv13e.tar.gz更改unpv13e中的文件:1.打开unpv13e/libfree/inet_ntop.c,将所有的size_t替换为socklen_t,在inet_ntop6函数中补充best和cur
hz5034
·
2015-05-27 16:00
Unix网络编程
->epoll
epoll-I/Oeventnotificationfacility 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux
liutianshx2012
·
2015-05-26 12:00
UNIX网络编程
书中源代码测试环境搭建(Centos/Mac os 10.10)
环境Centos6.5 64位操作系统 或者MacOS10.101:在你的工作目录下创建一个目录UnpStudy,然后进入该目录分别创建Inc,Unp1及Unp2目录,我这三个目录的作用分别是:Inc包含书中例子用到的头文件unp.h和config.h,而Unp1和Unp2目录分别用于存放书中卷1和卷2例子的源代码,每章节的例子分别放在ChapterX(X指代章节)中。2:执行以下命令编译代码得到
liutianshx2012
·
2015-05-26 11:00
网络IO之阻塞、非阻塞、同步、异步总结
unix网络编程
第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一遍时候,似懂非懂,没有深入理解。
做个坏蛋去社会
·
2015-05-11 22:00
同步
非阻塞
异步总结
网络IO之阻塞
Unix网络编程
API
1.字节序函数#include#includeuint16_thtons(uint16_thost16bitvalue); uint32_thtonl(uint32_thost32bitvalue);返回:网络字节序值uint16_tntohs(uint16_tnet16bitvalue);uint32_tntohl(uint32_tnet32bitvalue);返回:主机字节序值一个测试本机字节
做个坏蛋去社会
·
2015-05-11 21:00
Unix网络编程API
UNIX网络环境配置,网络编程学习前7章小结
前言这一周开始学习
UNIX网络编程
了,虽然这一周项目的压力很大,不过最后还是顶住了压力,尽量平衡了实验室工作和自主学习。
yw8355507
·
2015-05-11 00:00
UNIX网络编程
卷1:套接字联网API -- 编译
UNIX网络编程
卷1:套接字联网API--编译tar zxvf unpv13e.tar.gz./configurecd libmakecd ../libfreemakecd ..
JUST DO IT ~
·
2015-05-07 22:00
ubuntu 有时使用man xxx查询函数时查不到的解决方法
比如我安装ubuntu后,,学习
unix网络编程
卷一时,里面用到pthread_mutexattr_setpshared这个时就使用man查询不到。搜索了下网上。
lifan1314521
·
2015-04-26 22:00
《
unix网络编程
》(21)守护进程和inetd超级服务器
守护进程(daemon)是在后台运行且不与任何控制终端关联的进程。UNIX系统有很多守护进程在后台工作(有20到50的数量级),执行不同的管理任务。 守护进程没有控制终端通常源于它们由系统初始化脚本启动。然而守护进程也可能从某个终端由用户在shell提示符下键入命令行启动,这样的守护进程必须亲自脱离于控制终端的关联,从而避免与作业的控制、终端会话管理、终端产生信号等发生
u013074465
·
2015-04-23 19:00
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他