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
LINUX网络编程
linux网络编程
必看书籍
首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属AndrewS.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而linux就是受其影响。。。。 第五版是2
Baniel01
·
2013-09-22 15:00
网络编程
计算机科学
Linux2.6内核中epoll用法详解
在
linux网络编程
中,很长一段时间都是采用select来实现多事件触发处理的。
kate19930802
·
2013-09-10 22:00
linux下发送广播
linux下发送广播linux广播255.255.255.255 sendtoerror:Networkisunreachable 全网广播场景: 今天调试
linux网络编程
的广播
ivaneeo's blog
·
2013-09-10 19:00
Linux网络编程
示例2
服务端程序#include#include /*SeeNOTES*/#include#include#include#include#include #includevoid*read_func(void*arg){ intfd=*(int*)arg; intret=-1; charbuf[10]={'\0'}; //读取客户端的信息 ret=read(fd,b
chenyijun
·
2013-09-08 21:00
linux
线程
网络
socket
网络编程
Linux网络编程
示例1
客户端:#include#include#include#include#include#include#include#includeintmain(void){ intsfd; intcfd; structsockaddr_inclient_add; charbuf[50]; intret; //1.建立socketfd*/ sfd=socket(AF_INET,S
chenyijun
·
2013-09-08 00:00
linux
网络
socket
linux网络编程
OSI模型七层结构opensystemsinterconnection由高级到低级依次为:应用层、表示层、会话层、传输层、网络层、链路层、物理层TCP/IP协议族的体系结构一共有四层由高到低依次为:应用层、传输层、网络层、网络接口和物理层TCP和UDP协议TCP(即传输控制协议):是一种面向连接的传输层协议,它是提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)UDP(即
wmlkl
·
2013-08-31 10:26
linux
网络编程
Linux网络编程
Linux网络编程
Linux是目前最流行的开源操作系统,网络功能在Linux下占有核心的地位。
李航421
·
2013-08-29 09:00
linux
网络编程
Linux网络编程
介绍
(一)网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。比如我们使用ftp程序从另外一个地方获取文件的时候,是我们的ftp程序主动同外面进行通信(获取文件),所以这个地方我们的ftp程序就是客户端程序。服务端
lindyl
·
2013-08-28 10:00
linux
网络编程
在socket系统调用中,如何完成三次握手和四次挥手
在我们学习网络基础时,传输层的协议有TCP和UDP;在
Linux网络编程
中,我们使用socketAPI,实现网络通信。那么:socketAPI和TCP协议中各个状态是如何对应的呢?
喜哥
·
2013-08-27 14:17
linux网络编程
之socket(十):shutdown 与 close 函数 的区别
假设server和client已经建立了连接,server调用了close,发送FIN段给client(其实不一定会发送FIN段,后面再说),此时server不能再通过socket发送和接收数据,此时client调用read,如果接收到FIN段会返回0,但client此时还是可以write给server的,write调用只负责把数据交给TCP发送缓冲区就可以成功返回了,所以不会出错,而server
hjxhjh
·
2013-08-22 19:00
UNIX网络编程——揭开网络编程常见API的面纱【下】
Linux网络编程
数据收发的API流程分析 只要把数据在协议栈中的流动线路和脉络弄清楚了,关于协议栈的实现部分,理解起来就轻松多了。
ctthunagchneg
·
2013-08-04 13:00
UNIX网络编程——揭开网络编程常见API的面纱【上】
Linux网络编程
API函数初步剖析 今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作。
ctthunagchneg
·
2013-08-04 13:00
Linux网络编程
入门+实践代码
(一)
Linux网络编程
--网络知识介绍
Linux网络编程
--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.客户端
M_S_C
·
2013-08-02 18:00
Linux网络编程
入门
服务器端:(1) 服务器端开始建立socket描述符;(socket)(2) 捆绑sockfd描述符;(bind)bind将本地的端口同socket返回的文件描述符捆绑在一起.成功是返回0,失败的情况和socket一样(3) 监听sockfd描述符;(listen)listen函数将bind的文件描述符变为监听套接字.返回的情况和bind一样.(4) 服务器阻塞,直
xlm289348
·
2013-07-29 15:00
浅谈
Linux网络编程
的基本内容
今天只是想浅谈一下对于
Linux网络编程
中一些基本问题的理解。我们知道互联网通信都是基于TCP/IP协议簇的,里面从一开始设计就保证了基本的通信安全和效率问题。
xianszm007
·
2013-07-28 21:00
Linux网络编程
socket错误分析
Linux网络编程
socket错误分析 socket错误码: EINTR: 4 阻塞的操作被取消阻塞的调用打断。
aigo
·
2013-07-21 18:00
socket
一些学习连接
://www.chinavideo.org/archiver/ 视频技术论坛'sArchiverhttp://www.cnblogs.com/s7vens/category/338830.html
linux
yangzhiloveyou
·
2013-07-14 00:00
RTP协议分析(转载)
RTP协议分析(转载)分类: 【
Linux网络编程
】2013-07-0813:40 39人阅读 评论(0) 收藏 举报rtp应用网络文档目录(?)[+]第1章. RTP概述1.1.
pi9nc
·
2013-07-11 09:00
【Linux网络编程】
网络编程
一)
Linux网络编程
--网络知识介绍
Linux网络编程
--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.客户端 在网络程序中
duola_rain
·
2013-07-08 11:00
epoll原理
epoll原理在
linux网络编程
中,很长时间使用select做事件触发。select会随着监听fd的数目的增长而降低效率,因为在实现中,它是采用轮询的方式处理的,轮询的fd数目越多,自然耗时就越多。
 C++ 技术中心
·
2013-07-01 19:00
Linux 牛书推荐:《
Linux网络编程
》
这本书几乎涵盖了Linux网络相关的所有知识,我大部分朋友拥有这本书,不过,我买过几次这本书(其他的都是帮朋友买的哦),很难买到正版。但这本书还有个缺点就是有点点错误,而且印刷有点点问题,但瑕不掩瑜,好书就是好书。 该书内容分为4个部分:Linux程序设计基础部分、Linux用户空间网络编程部分、Linux内核网络编程部分以及综合案例部分。内容包含Linux系统概述、Linux编程环境
i_like_cpp
·
2013-07-01 15:00
数据连接
linux网络编程
之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口
在写这篇文章之前,xxx已经写过了几篇关于改数据连接主题的文章,想要了解的朋友可以去翻一下之前的文章 一、TCP段格式: TCP的段格式如下图所示 源端口号与目标端口号源端口号和目标端口号,加上IP首部的源IP地址和目标IP地址唯一确定一个TCP连接。 序号序号表示在这个报文段中的第一个数据字节序号。 确认号仅当ACK标记为1时有效。确认号表示期望收到的下一个
·
2013-06-28 19:00
TCP/IP
linux网络编程
之socket(十四):基于UDP协议的网络程序
linux网络编程
之socket(十四):基于UDP协议的网络程序分类:
linux网络编程
2013-06-1209:03 6360人阅读 评论(14) 收藏 举报udpsendtorecvfrom一
pi9nc
·
2013-06-27 21:00
Linux网络编程
Linux网络编程
之多播
http://blog.csdn.net/chenjin_zhong/article/details/72703621.概念单播是用于两个主机之间传送数据,广播是一个主机对局域网内的所有主机发送数据。而多播,又称为组播,它是对一组特定的主机通信。将网络上同一类型业务逻辑上分组,只和组内的成员通信,其它主机没有加入组则不能通信。与单播相同的是,组播允许在Internet上通信,而广播只是同一局域网内
cjsycyl
·
2013-06-27 14:00
linux-C编程-网络编程
3,
linux网络编程
三元组(ip地址,协议,端口)就可以标识网络的进程3.1,OSI七层模型和TCP/IP五层模型OSI七层网络模型由下至上为1至7层,分别为:物理层(Physicallayer),数据链路层
gexiaobaoHelloWorld
·
2013-06-27 10:00
linux网络编程
之posix 线程(四):posix 条件变量与互斥锁 示例生产者--消费者问题
一、posix条件变量一种线程间同步的情形:线程A需要等某个条件成立才能继续往下执行,现在这个条件不成立,线程A就阻塞等待,而线程B在执行过程中使这个条件成立了,就唤醒线程A继续执行。在pthread库中通过条件变量(ConditionVariable)来阻塞等待一个条件,或者唤醒等待这个条件的线程。ConditionVariable用pthread_cond_t类型的变量表示,和Mutex的初始
s1mba
·
2013-06-19 17:18
linux网络编程
linux
环境网络编程
linux网络编程
之posix 线程(四):posix 条件变量与互斥锁 示例生产者--消费者问题
一、posix条件变量一种线程间同步的情形:线程A需要等某个条件成立才能继续往下执行,现在这个条件不成立,线程A就阻塞等待,而线程B在执行过程中使这个条件成立了,就唤醒线程A继续执行。在pthread库中通过条件变量(ConditionVariable)来阻塞等待一个条件,或者唤醒等待这个条件的线程。ConditionVariable用pthread_cond_t类型的变量表示,和Mutex的初始
Simba888888
·
2013-06-19 17:00
条件变量
posix
linux网络编程
常用头文件
sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/O控制的函数sys/poll.h:提供socket等待测试机制的函数其他在网络程序中常见的头文件unistd.h:提供通用的文件、
cqkxboy168
·
2013-06-18 16:36
linux环境编程
linux网络编程
常用头文件
sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/O控制的函数sys/poll.h:提供socket等待测试机制的函数其他在网络程序中常见的头文件unistd.h:提供通用的文件、
cqkxboy168
·
2013-06-18 16:00
linux
头文件
linux网络编程
之posix 线程(三):posix 匿名信号量与互斥锁 示例生产者--消费者问题
一、posix信号量信号量的概念参见这里。前面也讲过systemv信号量,现在来说说posix信号量。systemv信号量只能用于进程间同步,而posix信号量除了可以进程间同步,还可以线程间同步。systemv信号量每次PV操作可以是N,但Posix信号量每次PV只能是1。除此之外,posix信号量还有命名和匿名之分(man7sem_overview):1、命名信号量名字以/somename形式
Simba888888
·
2013-06-18 13:00
linux网络编程
之posix 线程(二):线程的属性和 线程特定数据 Thread-specific Data
一、posix线程属性POSIX 线程库定义了线程属性对象 pthread_attr_t ,它封装了线程的创建者可以访问和修改的线程属性。主要包括如下属性:1. 作用域(scope)2. 栈尺寸(stack size)3. 栈地址(stack address)4. 优先级(priority)5. 分离的状态(detached state)6. 调度策略和参数(scheduling policy a
Simba888888
·
2013-06-16 22:00
线程特定数据TSD
线程的属性
linux网络编程
之posix 线程(一):线程模型、pthread 系列函数 和 简单多线程服务器端程序
一、线程有3种模型,分别是N:1用户线程模型,1:1核心线程模型和N:M混合线程模型,posixthread属于1:1模型。(一)、N:1用户线程模型“线程实现”建立在“进程控制”机制之上,由用户空间的程序库来管理。OS内核完全不知道线程信息。这些线程称为用户空间线程。这些线程都工作在“进程竞争范围”(processcontentionscope):各个线程在同一进程竞争“被调度的CPU时间”(但
s1mba
·
2013-06-16 19:13
linux
环境网络编程
linux网络编程
之posix 线程(一):线程模型、pthread 系列函数 和 简单多线程服务器端程序
一、线程有3种模型,分别是N:1用户线程模型,1:1核心线程模型和N:M混合线程模型,posixthread属于1:1模型。(一)、N:1用户线程模型“线程实现”建立在“进程控制”机制之上,由用户空间的程序库来管理。OS内核完全不知道线程信息。这些线程称为用户空间线程。这些线程都工作在“进程竞争范围”(processcontentionscope):各个线程在同一进程竞争“被调度的CPU时间”(但
Simba888888
·
2013-06-16 19:00
pthread
多线程服务程序
linux网络编程
之connect函数
NAME connect-connectasocketSYNOPSIS #include intconnect(intsocket,conststructsockaddr*address,socklen_taddress_len);DESCRIPTION Theconnect()functionshallattempttomakeaconnectiononasocket.Thefu
shihui512
·
2013-06-16 16:00
linux
函数
socket
读书笔记
网络编程
linux网络编程
之POSIX 共享内存和 系列函数
在前面介绍了systemv共享内存的相关知识,现在来稍微看看posix共享内存和系列函数。共享内存简单来说就是一块真正的物理内存区域,可以使用一些函数将这块区域映射到进程的地址空间进行读写,而posix共享内存与systemv共享内存不同的是它是用虚拟文件系统(tmpfs)实现的,已经挂载在/dev/shm下面。man7shm_overview下面来看系列函数,编译时候加上-lrt选项,即连接li
Simba888888
·
2013-06-16 15:00
共享内存
posix
linux网络编程
之POSIX 消息队列 和 系列函数
一、在前面介绍了systemv消息队列的相关知识,现在来稍微看看posix消息队列。posix消息队列的一个可能实现如下图:其实消息队列就是一个可以让进程间交换数据的场所,而两个标准的消息队列最大的不同可能只是api函数的不同,如systemv的系列函数是msgxxx,而posix是mq_xxx。posix消息队列也有一些对消息长度等的限制,man7mq_overview:simba@ubuntu
s1mba
·
2013-06-16 10:26
linux
环境网络编程
linux网络编程
之POSIX 消息队列 和 系列函数
一、在前面介绍了systemv消息队列的相关知识,现在来稍微看看posix消息队列。posix消息队列的一个可能实现如下图:其实消息队列就是一个可以让进程间交换数据的场所,而两个标准的消息队列最大的不同可能只是api函数的不同,如systemv的系列函数是msgxxx,而posix是mq_xxx。posix消息队列也有一些对消息长度等的限制,man7mq_overview:simba@ubuntu
Simba888888
·
2013-06-16 10:00
消息队列
posix
linux网络编程
之socket(十四):基于UDP协议的网络程序
一、下图是典型的UDP客户端/服务器通讯过程下面依照通信流程,我们来实现一个UDP回射客户/服务器 #include #include ssize_tsend(intsockfd,constvoid*buf,size_tlen,intflags); ssize_tsendto(intsockfd,constvoid*buf,size_tlen,intflags, conststructsockad
RationalGo
·
2013-06-15 23:00
linux网络编程
之System V 信号量(三):基于生产者-消费者模型实现先进先出的共享内存段
生产者消费者问题:该问题描述了两个共享固定大小缓冲区的进程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。我们可以用信号量解决生产者消费者问题,如下图:定义3个信号量,sem_full和se
Simba888888
·
2013-06-15 22:00
信号量
共享内存
生产者消费者模型
linux网络编程
之listen函数
NAME listen-listenforsocketconnectionsandlimitthequeueofincomingconnectionsSYNOPSIS #include intlisten(intsocket,intbacklog);DESCRIPTION Thelisten()functionshallmarkaconnection-modesocket,spec
shihui512
·
2013-06-15 21:00
linux
读书笔记
函数
socket
网络编程
linux网络编程
之bind函数
NAME bind-bindanametoasocketSYNOPSIS #include intbind(intsocket,conststructsockaddr*address, socklen_taddress_len);DESCRIPTION Thebind()functionshallassignalocalsocketaddressaddressto
shihui512
·
2013-06-15 19:00
linux
读书笔记
socket
网络编程
结构
linux网络编程
之socket函数
socket()--CreateSocket Syntax #include #include intsocket(intaddress_family, inttype, intprotocol)Thesocket()functionisusedtocreateanendpointforcommunications.Theendpointi
shihui512
·
2013-06-15 18:00
linux
socket
读书笔记
网络编程
linux网络编程
之System V 信号量(二):用信号量实现进程互斥示例和解决哲学家就餐问题
一、我们在前面讲进程间通信的时候提到过进程互斥的概念,下面写个程序来模拟一下,程序流程如下图:即父进程打印字符O,子进程打印字符X,每次打印一个字符后要sleep一下,这里要演示的效果是,在打印程序的边界有PV操作,故每个进程中间sleep的时间即使时间片轮转到另一进程,由于资源不可用也不会穿插输出其他字符,也就是说O或者X字符都会是成对出现的,如OOXXOOOOXXXXXXOO....程序如下:
s1mba
·
2013-06-15 16:13
linux
环境网络编程
linux网络编程
之System V 信号量(二):用信号量实现进程互斥示例和解决哲学家就餐问题
一、我们在前面讲进程间通信的时候提到过进程互斥的概念,下面写个程序来模拟一下,程序流程如下图:即父进程打印字符O,子进程打印字符X,每次打印一个字符后要sleep一下,这里要演示的效果是,在打印程序的边界有PV操作,故每个进程中间sleep的时间即使时间片轮转到另一进程,由于资源不可用也不会穿插输出其他字符,也就是说O或者X字符都会是成对出现的,如OOXXOOOOXXXXXXOO....程序如下:
Simba888888
·
2013-06-15 16:00
信号量
进程互斥
哲学家就餐
linux网络编程
之System V 信号量(一):封装一个信号量集操作函数的工具
信号量的概念参见这里。与消息队列和共享内存一样,信号量集也有自己的数据结构:structsemid_ds{structipc_permsem_perm; /*Ownershipandpermissions*/time_t sem_otime;/*Lastsemoptime*/time_t sem_ctime;/*Lastchangetime*/unsignedshort sem_nsems;/
Simba888888
·
2013-06-15 11:00
System
信号量
v
linux网络编程
之System V 共享内存 和 系列函数
跟消息队列一样,共享内存也有自己的数据结构,如下:structshmid_ds{structipc_permshm_perm; /*Ownershipandpermissions*/size_t shm_segsz; /*Sizeofsegment(bytes)*/time_t shm_atime; /*Lastattachtime*/time_t shm_dtime; /*Lastdet
Simba888888
·
2013-06-14 22:00
System
共享内存
v
linux网络编程
之共享内存简介和mmap 函数
一、共享内存简介共享内存区是最快的IPC形式,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。即每个进程地址空间都有一个共享存储器的映射区,当这块区域都映射到相同的真正的物理地址空间时,可以通过这块区域进行数据交换,例如共享库就是这么实现的,很多进程都会使用同一个函数如printf,也许在真正的物理地址空间中只存在一份printf.o,然后所有进程都
Simba888888
·
2013-06-14 20:00
共享内存
mmap
linux网络编程
之System V 消息队列(二):消息队列实现回射客户/服务器和 msgsnd、msgrcv 函数
一、msgsnd和msgrcv函数 #include #include #include功能:把一条消息添加到消息队列中原型 intmsgsnd(intmsqid,constvoid*msgp,size_tmsgsz,intmsgflg);参数msgid:由msgget函数返回的消息队列标识码msgp:是一个指针,指针指向准备发送的消息结构体msgsz:是msgp指向的消息长度,这个长度不含保存消
Simba888888
·
2013-06-14 17:00
msgsnd
msgrcv
linux网络编程
之System V 消息队列(一):消息队列内核结构和msgget、msgctl 函数
一、消息队列1、消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法2、每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值3、消息队列与管道不同的是,消息队列是基于消息的,而管道是基于字节流的,且消息队列的读取不一定是先入先出。4、消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消
Simba888888
·
2013-06-13 21:00
System
消息队列
msgget
v
msgctl
linux网络编程
之进程间通信基础(二):死锁、信号量与PV原语简介
一、死锁(1)死锁是指多个进程之间相互等待对方的资源,而在得到对方资源之前又不释放自己的资源,这样,造成循环等待的一种现象。如果所有进程都在等待一个不可能发生的事,则进程就死锁了。(2)死锁产生的必要条件:互斥条件进程对资源进行排它性使用,即在一段时间内某资源仅为一个进程所占用。 请求和保持条件当进程因请求资源而阻塞时,对已获得的资源保持不放。 不可剥夺条件进程已获得的资源在未使用完之前,不能被剥
Simba888888
·
2013-06-13 18:00
死锁
PV原语与信号量
上一页
28
29
30
31
32
33
34
35
下一页
按字母分类:
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
其他