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网络编程
卷2》读书笔记(四)
/**/ /* include globals */ #include " unpipc.h " #define MAXNITEMS 100
·
2015-10-31 08:58
unix
《
UNIX网络编程
卷2》读书笔记(三)
多个生产者,单个消费者,只考虑生产者之间的同步互斥 #include " unpipc.h " #define MAXNITEMS 1000000 #define
·
2015-10-31 08:58
unix
UNIX网络编程
读书笔记:I/O模型(阻塞、非阻塞、I/O复用、信号驱动、异步)
I/O模型 UNIX下可用的5种I/O模型: (1)阻塞I/O (2)非阻塞I/O (3)I/O复用(select和poll) (4)信号驱动I/O(SIGIO) (5)异步I/O 对于一个套接口上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待分组到达时,它被拷贝到内核中的某个缓冲区。第二步就是把数据从内核缓冲区拷贝到应用进程缓冲区。 1、阻塞I/O模型 最流行的I/O
·
2015-10-31 08:14
unix
UNIX网络编程
: 第2版. 第2卷, 进程间通信(中文版)
UNIX网络编程
: 第2版.
·
2015-10-31 08:40
unix
UNIX网络编程
.卷1,套接字联网API(第3版)(中文版)(Stevens经典著作,两位顶级网络编程专家应邀执笔修订)
UNIX网络编程
.卷1,套接字联网API(第3版)(中文版)(Stevens经典著作,两位顶级网络编程专家应邀执笔修订) 基本信息 原书名: Unix Network Programming,
·
2015-10-31 08:39
unix
模拟一个简单的基于tcp的远程关机程序
最近在学习
unix网络编程
,现在正在学习tcp的通信。其实,只要建立起了tcp通信,操作远端的计算机就不是什么问题了。正向telnet一样,也是基于tcp/IP协议的。
·
2015-10-30 12:16
tcp
关于网络编程(服务端)的一些笔记(zz)
zz from:http://dev.csdn.net/develop/article/49/49691.shtm 针对服务器处理网络连接的几种方式,
unix网络编程
里给出了9种方案,并且对服务器进程
·
2015-10-23 09:42
网络编程
Linux进程间通信(5):消息队列
接上一篇的内容——Linux进程间通信(4):共享内存 参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院) 《
UNIX网络编程
卷2 进程间通信(第2版)(中文版)》 参考链接
·
2015-10-23 08:42
linux
Linux进程间通信(4):共享内存
接上一篇的内容——Linux进程间通信(3):信号量 参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院) 《
UNIX网络编程
卷2 进程间通信(第2版)(中文版)》 资料下载
·
2015-10-23 08:40
linux
unix网络编程
-配置unp.h头文件
第一步进入:www.unpbook.com,下载unp的随书代码。新建一个目录,将压缩包拷贝到这一目录下面,然后将压缩包直接解压:tar -zxvf 压缩包名.tar.gz 完成上一步后,进入到unpv13e目录下执行下面的步骤(目的是为了得到linunp.a静态库): ./configure cd lib make cd../libfree make c
·
2015-10-23 08:35
unix
TCP缓冲区大小及限制
主要参考
UNIX网络编程
。(1)数据报大小IPv4的数据报最大大小是65535字节,包括IPv4首部。因为首部中说明大小的字段为16位。
sayesan
·
2015-10-21 19:39
SOCKET
mmap函数使用
UNIX网络编程
第二卷进程间通信对mmap函数进行了说明。
·
2015-10-21 12:38
map
Unix网络编程
chart
前言 在最初接触网络这一领域的时候,就是傻傻地抱着一本TCP/IP协议详解来学习,主要学习协议的原理并研究协议相关的算法,大家都知道协议纯理论的学习是比较枯燥和复杂的,看着看着就睡着了。由于项目需要,没想到在没有经过实践的情况下经过半个多月的苦读,竟然真的将大部分协议理论给研究的差不多了,并且还被要求根据协议工作原理来设计测试算法。由于最开始项目只要求设计协议方面的算法,所以导致我在实现协议
·
2015-10-21 12:51
chart
UNIX网络编程
1.1 客户端程序和服务端程序 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接.一般的来说是服务端的程序 在一个端口上监听,直到有一个客户端的程序发来了请求. 1.2 常用的命令 由于网络程序是有两个部分组成,所以在调试的时候比较麻烦,为此我们有必要知道一些
·
2015-10-21 12:06
unix
Linux进程间通信(2):信号
接上一篇的内容——Linux进程间通信(1):管道 参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院) 《
UNIX网络编程
卷2 进程间通信(第2版)(中文版)》 参考链接
·
2015-10-21 12:43
linux
Linux进程间通信(3):信号量
接上一篇的内容——Linux进程间通信(2):信号 参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院) 《
UNIX网络编程
卷2 进程间通信(第2版)(中文版)》 参考链接
·
2015-10-21 12:42
linux
在局域网中实现多播功能[zz]
最近一直在看《
Unix网络编程
》这本书,觉得这本书很适合初学socket编程的人(比如说我自己 ^_^ )。
·
2015-10-21 11:53
局域网
摘录
这些在《
Unix网络编程
》都可以找到答案。 2、算法的题,就是经常会出些动态规划和查找相关的
·
2015-10-21 11:10
TCP建立连接为什么是三次握手?
根据《
UNIX网络编程
》所述的TCP状态转换变迁图所示:从状态转换图我们可以看出TCP的连接建立经历了SYN----SYN+ACK-----ACK的过程,也是常称之为三次握手的过程,
dreamhougf
·
2015-10-20 11:17
TCP/IP
unix网络编程
源码编译问题
##获得更多资料欢迎进入我的网站或者 csdn或者博客园 今天在温习计算机网络时,突然将我很久前买的《
unix网络编程
第三版卷一》拿出来看看了。放了两年了,哈哈。
·
2015-10-20 08:53
unix
Python web世界观——web架构概览(适合传统程序员)
这是看过
unix网络编程
的大部分人所接触到的网络模型。然而,unix实在太老,网络需求在近些年发生了巨大的变化,最重要的就是对并发性的要求。
ljy1988123
·
2015-10-17 11:00
linux
Web
python
socket
django
server
网络编程实践陈硕笔记零
1、理查德森的
unix网络编程
有两样不足:一消息格式处理,特别是非阻塞IO上处理TCP分包问题;二是并发模型稍显陈旧,传统高并发采用事件驱动加非阻塞IO方式。
夫多多
·
2015-10-14 15:18
网络编程
估计好久不能些博客了
我的Linux应用编程,
unix网络编程
,我的ulk........
梦中人在做梦
·
2015-10-10 22:00
《
UNIX网络编程
》学习笔记:基本TCP套接字编程
1.socket(intfamily,inttype,intprotocol);返回:若成功则为非负描述符,若出错则为-1功能:创建一个未连接的套接字family指明地址协议族,type指明套接字类型,protocol为某个协议类型常值。对比AF_XXX和PF_XXX:AF_前缀表示地址族(addressfamily),PF_前缀表示协议族(protocolfamily),历。史上曾想单个协议族可
u012990532
·
2015-10-06 18:00
unix
tcp
网络编程
套接字编程
套接字API
linux后台开发必看书
《
Unix网络编程
卷二》
Unix网络编程
卷第二卷没有涉及网络的东西,主要讲进程间通讯和Posix
my_sky2012
·
2015-10-04 20:00
Unix网络编程
-poll模型echo服务器
poll函数和select函数差不多。以下是一个简单的回显服务器#include usingnamespacestd; #include #include #defineOPEN_MAX64 intmain() { inti,maxi,listenfd,connfd,sockfd; intnready; ssize_tn; socklen_tclilen; struc
程远春
·
2015-09-22 15:00
UNIX网络编程
——socket的keep-alive(超时重传)
第一部分【需求】不影响服务器处理的前提下,检测客户端程序是否被强制终了。【现状】服务器端和客户端的Socket都设定了keepalive属性。服务器端设定了探测次数等参数,客户端、服务器只是打开了keepalive机能服务器端起了一个监视线程,利用select来检测socket是否被关闭。下面这是我的一点肤浅理解。1. 关于keepalive 无论windows还是linux,keep
一叶舟troy
·
2015-09-18 15:00
memcached主线程工作线程通信机制
accept/dispatch: memcached使用"主线程统一accept/dispatch子线程"网络模型处理客户端的连接和通信,也就是《
UNIX网络编程
卷1第三版》第30章里面的第8个模型
qq_15457239
·
2015-09-16 10:00
memcached
线程通信
高效的半同步半异步模型
连接处理
CentOS安装sctp协议
序最近学习
Unix网络编程
,在第10章节,SCTP客户/服务器程序实现时,发现很多由于系统没有安装sctp协议,引发的bug;因此,现将在CentOS上的sctp安装记录如下:安装如图(1)使用命令yumlistlksctp
fly_yr
·
2015-09-11 17:00
centos
网络编程
sctp安装
TCP协议疑难杂症全景解析
因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《
Unix网络编程
》以及Linux源
u014774781
·
2015-09-11 12:00
linux
网络
嵌入式程序员的面试经历
大致看了一下书籍《TCP-IP详解(第一卷)》,《
UNIX网络编程
卷1:套接字联网API(第3版)》,《UNIX环境高级编程》,顺便看了下《鸟哥的Linux私房菜–基础学习篇(第三版)》,之前一直是在linux
zhangdaisylove
·
2015-09-08 18:42
TCP协议疑难杂症全景分析
因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《
Unix网络编程
》以及Linux源代码之外,学习网络更好的资
carribean
·
2015-09-08 11:00
TCP协议疑难杂症全景解析
因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《
Unix网络编程
》以及Linux源代码之外,
a2796749
·
2015-09-02 19:00
Unix网络编程
— 头文件解析
1.1.primitivesystemdatatypes(包含很多类型重定义,如pid_t、int8_t等)1.2.//与套接字相关的函数声明和结构体定义,如socket()、bind()、connect()及structsockaddr的定义等intsetsockopt(ints,intlevel,intoptname,constvoid*optval,,socklen_toptlen);用来设
fly_yr
·
2015-08-31 17:00
UNIX网络编程
卷一:调试工具 tcpdump lsof 总结
1、tcpdump2、lsof1)查看某个端口被谁占用,下面的例子是查看谁占用了8888用于TCP连接。lsof-iTCP:8888
chj90220
·
2015-08-31 14:00
UNIX网络编程
卷一:第三十章 客户/服务器程序设计范式
本章介绍了9种,服务器设计范式。代码总结:https://github.com/huntinux/unpvol1/tree/master/30chp使用互斥锁和条件变量的例子使用举例:30章的serv08.c使用了互斥锁和条件变量。理解条件变量的关键是,弄清楚让线程休眠的条件是什么,比如server08,线程休眠的条件是iput==iget主线程在将此条件改变时(修改iput的值),会通知休眠的线
chj90220
·
2015-08-31 10:00
UNIX网络编程
8 从图中了解TCP协议在Linux内核中的实现
PacketReception图1展示了一个新的包从网线进入到用户应用的路径。Linux内核使用一个skbuff数据结构来描述每个packet。当一个packet到达网卡NIC时,它调用DMA引擎将packet放进内核内存中通过存储在一个环形buffer的空的skbuffs叫做rxring。一个进入的packet如果环形缓冲区满了则被丢掉。当一个packet在较高协议层被处理时,packet数据仍
hustsselbj
·
2015-08-27 21:00
unix
tcp
实现
网络编程
内核
UNIX网络编程
7 利用tdpdump理解socket相关函数和数据包的时序
本次测试的主要原因是不了解connect()accept()和三次握手的先后顺序。为了能够方便获得时序关系,在程序关键点都插入了printTimeLog()打印出时间戳和日志信息,并且在服务端listen()和accept()之间插入长时间的sleep(),在客户端connect()和send()之间也插入一定时间的sleep(),然后一次启动tcpdump和server以及client,根据程序
hustsselbj
·
2015-08-27 20:00
socket
网络编程
connect
accept
返回时间
UNIX网络编程
6 从tcpdump了解到的TCP/UDP发送限制和缓冲区问题
本节主要解决的问题:MTU和TCP/UDP一次发送的大小限制,read/write或者send/recv返回时机和数值,内核发送和接收缓冲区大小,未解决通告窗口win大小和发送包长length的关系,内核TCP再往下层的实现未关注。一些结论:首先明白,用户空间缓冲区就是指你的程序中存放原始数据的和用于接收数据的char数组,内核空间的tcp收发缓冲区有默认值,也会自动动态地增加,也可以手动sets
hustsselbj
·
2015-08-27 20:00
socket
unix
tcp
网络编程
UDP
TCP协议疑难杂症全景解析
因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《
Unix网络编程
》以及Linux源代码
u014774781
·
2015-08-26 11:00
操作系统
UNIX网络编程
0 IP头,TCP头,UDP头,MAC帧头定义
转自 http://www.cnblogs.com/li-hao/archive/2011/12/07/2279912.html一、MAC帧头定义/*数据帧定义,头14个字节,尾4个字节*/typedefstruct_MAC_FRAME_HEADER{ charm_cDstMacAddress[6]; //目的mac地址 charm_cSrcMacAddress[6]; //源mac地
hustsselbj
·
2015-08-26 10:00
Unix网络编程
API
1.字节序函数#includeuint16_thtons(uint16_thost16bitvalue);uint32_thtonl(uint32_thost32bitvalue);返回:网络字节序值uint16_tntohs(uint16_tnet16bitvalue);uint32_tntohl(uint32_tnet32bitvalue);返回:主机字节序值一个测试本机字节序的程序,可参见见
mickelfeng
·
2015-08-19 14:00
UNIX网络编程
5 一些相似函数的比较和使用
1.bzero和memsetbzero是传统BSD函数,属于POSIX标准,使用头文件string.h,bzero无返回值,推荐使用memset替代bzero。bzero(&servaddr,sizeof(servaddr));memset(&remote_addr,0,sizeof(remote_addr));2.perror和stderrperror和strerror都是C语言提供的库函数,用
hustsselbj
·
2015-08-18 15:00
UNIX网络编程
4 使用epoll
使用:http://blog.chinaunix.net/uid-20384806-id-1954307.html优点:http://blog.csdn.net/wangpengqi/article/details/9933011源码分析http://blog.csdn.net/chen19870707/article/details/42525887 intepoll_create(intsiz
hustsselbj
·
2015-08-18 10:00
UNIX网络编程
卷一:第二十六章 线程
malloc和free是不可重入函数。在主线程处于这两个函数之一的内部处理期间,从某个信号处理函数种调用这两个函数之一可能造成灾难性后果。这是因为这两个函数操纵了相同的静态数据结构。创建线程,并不影响已经打开的描述符的引用计数,这一点不同于fork线程同步:互斥锁:用于保护共享变量,用于防止同时访问共享变量。条件变量: 如果想让主循环睡眠,直到某个线程通知它有事可做才醒来,那么使用条件变量和互斥锁
chj90220
·
2015-08-17 11:00
UNIX网络编程
卷一:第二十一章 多播
单播、广播、多播。从名字上就可以看出区别。单播和广播时寻址方案的两个极端(要么单个要么全部),多播是一个折中方案。多播数据报只应该由对它感兴趣的接口接收。此外,广播局限于局域网,而多播既可以用于局域网,也可用于广域网。多播地址IPv4的D类地址224.0.0.0~239.255.255.255是IPv4的多播地址。D类地址的低28位构成多播组ID。
chj90220
·
2015-08-17 10:00
UNIX网络编程
卷一:第二十章 广播
TCP只支持单播寻址UDP和原始IP还支持其它寻址类型。IPv6中增加了任播方式。广播(broadcastign):用途1:在本地子网定位一个服务器主机,这种操作成为资源发现。用途2:在多个客户主机和单个服务器主机通信的局域网环境种尽量减少分组流通,如: a)ARP:ARP在本地子网上广播一个请求:“IP地址为a.b.c.d的系统亮明身份,告诉我你的硬件地址”,ARP使用链路层广播,而不是I
chj90220
·
2015-08-17 10:00
UNIX网络编程
卷一:第十七章 ioctl
ioctl函数传统上一直作为不适合归入其它精细定义类别的特性的系统借口。POSIX致力于摆脱ioctl借口,办法是创造新的函数来取代ioctl,例如:Unix终端接口传统上使用ioctl访问,而POSIX为终端创造了12个新函数:tcgetattr tcflush ....但是,ioctl依然保留了不少功能,用于:获取接口信息、访问路由表、访问ARP高速缓存等。网络程序(特别是服务器程序)经常在启
chj90220
·
2015-08-17 09:00
ioctl
UNIX网络编程
3 使用select()
select函数必需的头文件:和。这个函数允许进程指示内核等待多个事件(任何描述符字准备好读或写或有异常条件待处理)中的任一个发生,并仅在事件发生或经过某指定的时间后才唤醒进程。所以调用select的进程会在这个函数阻塞,等待事件发生或者超时。函数原型:select(intmaxfdp,fd_set*readset,fd_set*writeset,fd_set*exceptset,conststr
hustsselbj
·
2015-08-14 10:00
unix
网络编程
select
UNIX网络编程
2 理解select、poll、epoll原理
三者实现原理对比分析select,poll,epoll都是IO多路复用的机制,上文中提到的多路复用主要是以select为例,select和poll大同小异,因为select和poll的实现有明显的缺点,所以在Linux2.5.44中引入了新的处理大批量句柄的API——epoll,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。这里还是要强调,I/O多路复用机制的目的是应对大量的描述符,
hustsselbj
·
2015-08-13 17:00
unix
epoll
网络编程
select
poll
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他