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
Linux C 收藏
某招聘要求:熟悉高性能分布式网络服务端设计开发,熟悉epoll、多线程、异步IO、事件驱动等服务端技术;《UNIX环境高级编程(第3版)》apue.h等源码文件的编译安装《
UNIX网络编程
(第3版)》unp.h
52php
·
2016-07-18 14:00
Unix网络编程
卷一笔记
1.connect函数调用会激发TCP三路握手协议,调用失败返回以下三种情况:1.TCP客户端没有收到SYN分节,返回ETIMEOUT错误。如果发送一个SYN分节,等待6s没有响应,再发送一个,等待24s没有响应,再发送一个,等待75s没有响应就返回本错误。2.如果对客户端SYN的响应是RST(表示复位),则表示该服务器主机没有进程在等待与之连接(1.服务器上没有监听套接字,2.服务器主动取消了与
damenhanter
·
2016-07-12 23:33
网络编程
需要学习的书籍清单
《深入理解计算机系统》《现代操作系统》《计算机程序的构造与解释》《Linux内核设计与实现》《Unix&Linux大学教程》《鸟哥的Linux私房菜》《LinuxShell脚本攻略》 网络编程类:《
UNIX
denliv_hui
·
2016-07-10 15:36
unix网络编程
第三版阅读笔记(三):基本套接字编程
unp第三章主要介绍了基本套接字编程函数。主要有:socket(),bind(),connect(),accept(),listen()等。本博文也直接进入正题,对这几个函数进行剖析和讲解。1.基本套接字函数在《计算机网络》和《TCP/IP详解》中,我们经常讨论TCP/IP的工作流程,连接建立的三次握手和连接断开的四次挥手等,那么这些如何体现在程序中呢?我们如何来运用这些理论知识于实践之中呢?下面
terence1212
·
2016-07-06 16:00
unix
函数
socket
网络编程
阅读
【
unix网络编程
第三版】ubuntu端口占用问题
《
unix网络编程
》一书中的代码并不是能直接运行,有时候需要结合各方面的知识来解决,大家在这本书的时候,一定要把代码都跑通,不难你会错过很多学习的机会!
terence1212
·
2016-07-05 19:00
unix
ubuntu
服务器
网络编程
阅读
TCP的状态转化过程(11中状态)以及TIME_WAIT状态
1,大家先看一个简单的通信图(图片转载与:
UNIX网络编程
,page:36,图2-5) 可以很明显的看到,在通信双方,客户端,服务端的状态变化过程 有人可
msdnwolaile
·
2016-07-04 20:00
TIME_WAIT
rst
SIGPIPE
tcp11中状态
unix网络编程
第三版阅读笔记(二):套接字编程简介
unp第二章主要将了TCP和UDP的简介,这些在《TCP/IP详解》和《计算机网络》等书中有很多细致的讲解,可以参考本人的这篇博客【计算机网络第五版】阅读笔记之五:运输层,这篇博客就不再赘述。本篇博客主要记录套接字编程API,从一些基本的API来一步一步了解套接字网络编程。1.套接字地址结构大多数的套接字函数都以一个指向套接字地址结构的指针作为参数。每个协议簇都定义了自己的套接字地址结构。套接字地
terence1212
·
2016-07-03 20:00
unix
api
函数
网络编程
UNIX网络编程
第三版阅读笔记(一):代码环境搭建
粗略的阅读过《TCP/IP详解》和《计算机网络(第五版)》后,开始啃这本《
UNIX网络编程
卷一:套接字联网API》,目前linux下的编程不算太了解,在阅读的过程中也会有很多障碍,希望自己坚持下去。
terence1212
·
2016-07-01 17:00
unix
api
源代码
网络编程
阅读
IO模型(同步,异步,阻塞,非阻塞)
参考
unix网络编程
卷1第6.2节I/O模型,作者在这节中详细说明了各种IO的特点和区
qq100440110
·
2016-06-20 21:00
unix
IO
异步
网络编程
UNIX网络编程
:socket套接字(TCP与UDP)
套接字简介:套接字是网络编程中的一种通信机制,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行,Linux所提供
Dandelion_gong
·
2016-06-07 18:38
UNIX网络编程
UNIX网络编程
:读写锁
之前我们整理了互斥锁与条件变量问题它保证了共享资源的安全,但在多线程中我们也会经常对共享数据进行读、写操作。也就是说对某些资源的访问会存在两种可能的情况,一种是访问必须是排查性的,就是独占的意思,这称作写操作;另一种情况就是访问方式可以是共享的,就是说可以有多个线程同时去访问某个资源,这种就称作读操作。这个问题模型是从对文件的读写操作中引申出来的。读写锁比起mutex具有更高的适用性,具有更高的并
Dandelion_gong
·
2016-06-01 17:09
UNIX网络编程
UNIX网络编程
:读写锁
之前我们整理了互斥锁与条件变量问题它保证了共享资源的安全,但在多线程中我们也会经常对共享数据进行读、写操作。也就是说对某些资源的访问会存在两种可能的情况,一种是访问必须是排查性的,就是独占的意思,这称作写操作;另一种情况就是访问方式可以是共享的,就是说可以有多个线程同时去访问某个资源,这种就称作读操作。这个问题模型是从对文件的读写操作中引申出来的。读写锁比起mutex具有更高的适用性,具有更高的并
Dandelion_gong
·
2016-06-01 17:00
多线程
unix
网络编程
读写锁
重新审视进程间的通信(一)
当初自己走马观花似的学习以为内容很简单,结果留下了大坑,借来
Unix网络编程
来补补,重新审视这两个部分,并且引以为戒!!!
protoss_penguin
·
2016-06-01 00:00
UNIX网络编程
:互斥锁和条件变量
在网络编程中,一般都是多线程的编程,这就出现了一个问题:数据的同步与共享。而互斥锁和条件变量就是为了允许在线程或进程间共享数据、同步的两种最基本的组成部分。它们总能够用来同步一个进程中的多个线程。再进入互斥锁和条件变量之前,我们先对多线程的一些相关函数进行简单介绍:多线程简单介绍和相关函数:通常,一个进程中包括多个线程,每个线程都是CPU进行调度的基本单位,多线程可以说是在共享内存空间中并发地多道
Dandelion_gong
·
2016-05-31 16:00
多线程
unix
网络编程
互斥锁
条件变量
Unix网络编程
-同步
1、互斥锁(量)和条件变量默认情况下互斥锁和条件变量用于线程间同步,若将它们放在共享内存区,也能用于进程间同步。1.1互斥锁1、概述:互斥锁(Mutex,也称互斥量),防止多个线程对一个公共资源做读写操作的机制,以保证共享数据的完整性。用以保护临界区,以保证任何时候只有一个线程(或进程)在访问共享资源(如代码段)。保护临界区的代码形式:lock_the_mutex(...); 临界区 unlock
will130
·
2016-05-29 11:00
网络编程
I/O复用和I/O模型
由《
Unix网络编程
卷1》总结而来。1、I/O复用同时监视多个I/O条件,在其中任意一个就绪时通知进程,这样的能力称为I/O复用。
will130
·
2016-05-27 18:00
网络编程
UNIX网络编程
笔记(3)—基本TCP套接字编程
基本TCP套接字编程主要介绍一个完整的TCP客户/服务器程序需要的基本套接字函数。1.概述在整个TCP客户/服务程序中,用到的函数就那么几个,其整体框图如下:2.socket函数为了执行网络I/O,一个进程必须要做的事情就是调用socket函数。其函数声明如下:#include intsocket(intfamily,inttype,intprotocol);其中:family:指定协议族type
zhangxiao93
·
2016-05-27 10:00
unix
socket
tcp
网络编程
UNIX网络编程
笔记(2)—套接字编程简介
套接字编程概述说到网络编程一定都离不开套接字,以前用起来的时候大多靠记下来它的用法,这一次希望能理解一些更底层的东西,当然这些都是网络编程的基础~(1)套接字地址结构大多说套接字函数都需要一个指向套接字地址结构的指针作为参数,每个协议族都定义它自己的套接字地址结构,这些结构都以sockadd_开头。IPV4套接字地址结构IPv4套接字地址结构通常称为“网际套接字地址结构”,以sockaddr_in
zhangxiao93
·
2016-05-22 11:00
unix
网络编程
套接字
UNIX网络编程
之线程浅析
什么是线程:线程是一个进程内部的控制系列;线程是CPU调度的基本单位线程的优点:(1)通过为每种事件类型的处理分配单独的线程,能够简化处理异步时间的代码。(2)多个线程可以自动共享相同的存储地址空间和文件描述符。(3)有些问题可以通过将其分解从而改善整个程序的吞吐量。(4)交互的程序可以通过使用多线程实现相应时间的改善,多线程可以把程序中处理用户输入输出的部分与其它部分分开。线程的缺点:在多线程程
github_33736971
·
2016-05-20 23:00
多线程
线程
网络编程
线程的标记和结构
线程的优缺点
UNIX网络编程
:消息队列
IPC中除了管道PIPE、FIFO、信号量和共享内存区意外,还有一个很重要的形式——消息队列。消息队列相比共享内存来说,它本身带有同步机制。消息队列是将消息按队列的方式组织成的链表,每个消息都是其中的一个节点。消息队列的运行方式与命名管道非常相似。欲与其他进程通信的进程只要将消息发送到消息队列中,目的进程就从消息队列中读取需要的消息。需要注意的是,消息队列的长度以及每个消息的大小都是有限制的。Li
Dandelion_gong
·
2016-05-19 15:00
unix
通信
网络编程
消息队列
PHP程序员进阶之路好书籍推荐
·《
UNIX网络编程
卷1(第3版)》·《
UNIX网络编程
卷2(第2版)》·《UNIX环境高级编程(第3版)》·《UNIX编程艺术》·《MySQL技术内幕(第5版)》·《深入理解计算机系统》·《用TCP/
coco510
·
2016-05-19 14:54
UNIX网络编程
之管道
管道所有式样的UNIX都提供管道。它由pipe函数创建。提供一个单路(单向)数据流。函数原型:#includeintpipe(intfd[2])该函数返回两个文件描述符:fd[0]和fd[1]。前者打开来读,后者打开来写。单个进程中的管道:两个不同进程间的通信:下面给出一个简单的客户端和服务器例子。main函数创建两个管道并用fork生成一个子进程。客户然后作为父进程运行,服务器作为子进程运行,第
fantasy_linux
·
2016-05-17 19:10
网络编程
UNIX网络编程
:共享内存区
IPC形式除了管道、FIFO、信号量以外,还有共享内存区和消息队列。这里主要堆共享内存进行介绍。共享内存区是可用IPC形式中最快的。一旦这样的内存区映射到共享它的进程地址空间,这些进程间数据的传递就不再涉及内核。共享内存与其他进程通信方式相比较,不需要复制数据,直接读写内存,是一种效率非常高的进程通信方案。但它本身不提供同步访问机制,需要我们自己控制。在LINUX中,只要把共享内存段连接到进程的地
Dandelion_gong
·
2016-05-17 17:00
unix
网络编程
共享内存
同步形式
UNIX网络编程
笔记(1)—传输层协议
开始学习网络编程的经典《
UNIX网络编程
》(第3版)作为研究生阶段的副本练习吧,厚厚一本书,希望能坚持看下去,坚持做些笔记。
zhangxiao93
·
2016-05-17 11:00
unix
IP
tcp
网络编程
UNIX网络编程
:IPC之信号量
信号量:主要用来控制多个进程对临界资源的互斥访问,进程通过信号量来判断是否有可以访问的资源,信号量是一种同步机制信号是一种处理异步事件的方法;不同于信号量信号量是一个计数器可用于同步多进程对共享数据对象的访问;要获得共享资源,进程需要:(1)测试控制该资源的信号量;(2)若此信号量值为正,则进程可以使用该资源,进程将信号量值减一,表示进程使用了一个资源单位;(3)若此信号量值为0,则进程进入睡眠状
github_33736971
·
2016-05-17 01:00
网络编程
ipc
信号量
semget
semctl-op
UNIX网络编程
: IPC之共享内存
共享内存:是系统创建的特殊地址空间,允许不相干的多个进程使用该空间,即多个进程能够使用同一块内存的数据;优点:共享内存不需要复制数据,直接读写内存,效率非常高;缺点:但是它本身不提供同步访问机制,我们可以通过信号量来进行控制其同步访问机制;共享内存的操作函数如下:shmgetintshmget(key_tkey,intshmsz,intshmflg)该函数创建或访问一个共享内存区;key值是fto
github_33736971
·
2016-05-16 23:00
网络编程
信号量
共享内存
shmget
shmat-dt
UNIX网络编程
:信号量semphore
信号量是一种用于提供不同进程间或一个给定进程的不同线程件同步手段的原语.信号量是一个特殊的整数值,主要用来控制多个进程对临界资源的互斥访问,进程根据信号量来判断是否有访问的资源。信号量是一个计数器,可用于同步多进程对共享数据对象得访问,为了获得共享资源,进程需要执行以下操作:1、测试控制该资源的信号量2、若此信号量的值为正,则进程可以使用该资源,进程将信号量值减1,表示它使用了一个资源单位3、若此
Dandelion_gong
·
2016-05-16 22:00
unix
网络编程
信号量
UNIX网络编程
:IPC之消息队列
消息队列:将消息队列按队列的方式组织成的链表,每个消息都是其中的一个节点;注意:消息队列的长度及每个消息的大小是有限制的消息队列的操作函数如下:msggetintmsgget(key_tkey,intmsgflg);该函数作用是:创建一个消息队列或访问一个已经存在的消息队列;成功返回标示符,出错返回-1;其第一个参数是一个整数IPC键,由ftok函数产生,或者直接是常值IPC_PRIVATE;ms
github_33736971
·
2016-05-16 21:00
网络编程
消息队列
msgget
msgctl
msgsnd-rcv
UNIX网络编程
之管道与FIFO
管道是最初的UnixIPC形式,它们的最大局限是没有名字,所以,管道只能用于有亲缘关系的进程只见使用。之后,慢慢随着FIFO的加入,这点才有所改观。FIFO也成为又名管道。管道和FIFO的共同点就是它们都是通过read和write函数进行访问的。管道:管道时有pipe函数创建,提供一个单路数据流。也就是说,所有的管道都是半双工。管道创建方法:#includeintpipe(intfd[2]);该函
Dandelion_gong
·
2016-05-16 18:00
unix
网络编程
ipc
管道
fifo
【
Unix网络编程
】socket函数与描述符
SocketSocket用于创建一个会话的端点,返回一个描述符.失败将返回-1,并设置errno.#includeintsocket(intdomain,inttype,intprotocol);参数domain用于指定会话的区域.这个选择决定用于会话的协议族.这些协议族位于sys/socket.h参考手册.NamePurposeManpageAF_UNIX,AF_LOCALLocalcommun
Hivoodoo
·
2016-05-13 13:03
网络编程
Unix网络编程
之UDP常见缺陷与实例
UDP与TCP相比,各有优缺点,下来来列举一下UDP的缺点:1.UDP是一种不可靠的协议(缺乏流量控制)实例代码://server.c#include#include#include#include#includeintmain(){ intsockfd; structsockaddr_inservaddr,clientaddr; charrecv[1024]; socklen_t
xiyou222
·
2016-05-10 16:00
unix网络编程
Unix网络编程
之UDP实例
首先先看一下UDP客户/服务器交互的典型情形,如下图:由上图可知,客户端程序不需要与服务器端建立连接,只需要调用sendto函数向服务器发送数据,或者调用recvfrom函数从服务器接收数据即可。最明显地特点就是服务器端只是比客户端多调用了一个bind函数来显式绑定一个端口。事实上客户端也可以通过bind来绑定端口,只不过没有那个必要。实例代码://server.c#include#include
xiyou222
·
2016-05-10 12:00
unix网络编程
Unix网络编程
之套接口选项
在
Unix网络编程
中,有非常多的套接口选项(虽然其中大多数并不常见),如下表所示:套接口层和IP层的套接口选项汇总:传输层的套接口选项汇总:套接口选项分为两大基本类型:一是开启或禁止某个特性的二元选项(
xiyou222
·
2016-05-05 23:00
unix网络编程
ubuntu12.04下
unix网络编程
apue的配置
我的系统是ubuntu12.04,现在将
unix网络编程
中apue.h的配置方法进行总结,以方便下次使用。1.进入目录,运行.
从小爱吃鱼
·
2016-05-04 14:55
unix网络编程
Unix网络编程
之常见的数据结构
在Unix/Linux网络编程中,会涉及到很多的数据结构,下面来总结一下:IPv4相关结构:structin_addr{ in_addr_t s_addr; //表示32位的IP地址,32位无符号整型}structsockaddr_in{ uint8_t sin_len; //表示该结构体的长度,8位无符号整型 sa_family_
xiyou222
·
2016-05-03 20:00
unix网络编程
Unix网络编程
—为客户端进程指定端口
了解Unix/Linux的人都知道,一般而言,只会在服务器端的监听进程才会指定端口,那么客户端的进程是否也能够指定端口呢?我们同样利用bind函数来为客户端的进程指定端口。首先,我们运行一个不指定端口的客户端程序,看一下数据包传输的情况:1.通过sudotcpdump命令打开工具软件2.执行客户端程序3.观察数据包传输的情况结果如下:关于数据包的内容我就不解释了,我们只要知道,master是客户端
xiyou222
·
2016-05-02 16:00
网络编程
NIO2.0
JDK1.7升级了NIO类库,升级后的NIO类库被称为NIO2.0,引人注目的是,Java正式提供了异步文件I/O操作,同时提供了与
UNIX网络编程
事件驱动I/O对应的AIO。
zero__007
·
2016-05-02 08:00
网络编程的实践过程中总结出来的一些经验(转)
本文是我在进行MS-Windows、HP-
Unix网络编程
的实践过程中总结出来的一些经验,仅供大家参考。本文所谈到的Socket函数如果没有特别说明,都是指的Windows Socket API。
zww0815
·
2016-04-28 16:00
unix网络编程
中的unp.h
/*Ourownheader.Tabsaresetfor4spaces,not8*/#ifndef__unp_h#define__unp_h#include"/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/config.h" /*configurationoptionsforcurrentOS*/ /*"../co
斯多葛先生
·
2016-04-28 04:00
linux
网络编程
套接字
网络IO之阻塞、非阻塞、同步、异步总结
unix网络编程
第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一遍时候,似懂非懂,没有深入理解。
孙赫奕
·
2016-04-19 10:00
UNP(一):网络编程角度下的TCP、UDP协议
TCP、UDP概述在前面《计算机网络与TCP/IP》栏目下已经介绍过一些关于TCP、UDP的相关知识TCP/IP(三):传输层TCP与UDP,这里只是简单从
UNIX网络编程
的角度介绍TCP、UDP协议。
sweetgum2012
·
2016-04-18 16:00
tcp
网络编程
UDP
网络发送数据字节序的处理
参考
unix网络编程
卷1的5.18节,下面贴几张图以下文字复制自论大小端对于跨平台的程序或者所用数据牵扯到不同平台的程序(例如网络编程),大小端字节序是个值得考虑的事情。
u013281495
·
2016-04-16 09:00
确定主机字节序的程序
参考《
Unix网络编程
.卷1》P64
yvhqbat
·
2016-04-15 17:00
TCP协议疑难杂症全景解析
因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《
Unix网络编程
》以及Linux源代码之外,学习网络更好的资
weiyuefei
·
2016-04-13 00:00
《
UNIX网络编程
》例子程序中所使用的 包裹函数 及 部分常量
转载地址:http://blog.chinaunix.net/uid-28977986-id-3886809.html 《
UNIX网络编程
套接字联网API》这本书的示例中定义了许多包裹函数,它们的名称和标准函数一样
hbtj_1216
·
2016-04-12 20:00
linux
socket
unix
C语言
网络编程
unix网络编程
笔记(四)--IO复用
第六章笔记1.IO复用:(1)需要IO复用的原因:echo客户端同时需要读终端和套接字会遇到这样的问题:如果客户端面向两个文件描述符,控制和连接套接字,那么就不能同时收到终端和套接字的数据,如果客户端阻塞在终端,那即使服务器发来了close也不能立即处理。这样的进程需要一种预先告知内核的能力,使得内核一旦发现进程指定的一个或多个IO条件就绪(也就是说输入已准备好被读取,或者描述符已能承担更多的输入
sunny_ss12
·
2016-04-11 16:00
unix
网络编程
unix网络编程
笔记(三)
第五章笔记1.僵死进程问题:按照第四章9.5典型的并发服务器程序轮廓编写代码,如果父进程fork子进程,但没有wait,当子进程退出后会出现僵死进程。1.1定义:一个进程使用fork创建子进程,如果子进程先于父进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。1.2出现原因:unix提供了一种机制可以保证只要父
sunny_ss12
·
2016-04-08 16:00
unix
网络编程
unix网络编程
笔记(二)
第四章笔记1.基本Tcp客户端/服务器程序的套接字函数2.socket函数:intsocket(intfamily,inttype,intprotocol);(1)socket有三个函数,除了tcpudp外还支持许多协议。(2)对于tcp协议:三个参数分别为AF_INET/AF_INET6、SOCK_STREAM、0(3)对于udp协议:三个参数分别为AF_INET/AF_INET6、SOCK_D
sunny_ss12
·
2016-04-06 00:00
unix
网络编程
网络编程总结(一)
这几天在看muduo网络库,顺便第二次详细的精读一下《
unix网络编程
》。在这里从最基础的编程模型开始,记录一下一步步改进程序的过程和细碎的知识点。首先看一下启动一个服务器程序所必须的库函数。
lijun538
·
2016-04-05 22:09
网络编程
网络编程总结(一)
这几天在看muduo网络库,顺便第二次详细的精读一下《
unix网络编程
》。在这里从最基础的编程模型开始,记录一下一步步改进程序的过程和细碎的知识点。首先看一下启动一个服务器程序所必须的库函数。
lijun538
·
2016-04-05 22:00
socket
unix
网络编程
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他