《Unix网络编程》卷2 读书笔记 第3章- System V IPC
1.概述三种类型的SystemVIPC:SystemV消息队列、SystemV信号量、SystemV共享内存区SystemVIPC在访问它们的函数和内核为它们维护的信息上共享许多类似点。本章讲述所有这些共同属性。下图汇总了所有SystemVIPC函数2.key_t键、ftok函数头文件sys/typ...
UNIX网络编程——TCP/IP简介
一、ISO/OSI参考模型OSI(opensysteminterconnection)开放系统互联模型是由ISO(InternationalOrganizationforStandardization)国际标准化组织定义的网络分层模型,共七层,如下图:物理层(PhysicalLayer):物理层定义...
【unix网络编程第三版】ubuntu端口占用问题
《unix网络编程》一书中的代码并不是能直接运行,有时候需要结合各方面的知识来解决,大家在这本书的时候,一定要把代码都跑通,不难你会错过很多学习的机会!1.问题描述本人在阅读《UNIX网络编程》中,发现运行书中服务器端程序时,返回binderror:Addressalreadyinuse!服务器端代...
Unix网络编程第三版源码编译
本文用的Unix网络编程源码是第三版,不同版本的源码可能会有不同的错误,还有不同的操作系统也会有不同的错误,本文基于fedora2064位操作系统,不过一般都不是满大的问题,多改两下就好了。配置:cdUnix-Network-Programming/./configure //若无法执行,可...
UNIX网络编程——非阻塞connect:时间获取客户程序
#include"unp.h"intconnect_nonb(intsockfd,constSA*saptr,socklen_tsalen,intnsec){intflags,n,error;socklen_tlen;fd_setrset,wset;structtimevaltval;flags=f...
Centos编译Unix网络编程(第三版)卷1的源代码
测试环境:Centos1)在shell中输入./configure然后按回车(注意先让configure有执行权限chomd777configure) 2)依次进入lib、libfree、libgai和libroute目录,执行make。有可能编译不错误(我在libroute目录中make遇到错误...
UNIX网络编程——原始套接字的魔力【上】
基于原始套接字编程在开发面向连接的TCP和面向无连接的UDP程序时,我们所关心的核心问题在于数据收发层面,数据的传输特性由TCP或UDP来保证:也就是说,对于TCP或UDP的程序开发,焦点在Data字段,我们没法直接对TCP或UDP头部字段进行赤裸裸的修改,当然还有IP头。换句话说,我们对它们头部操...
UNIX网络编程——僵尸进程
在fork()/exec()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill-9也不能杀死僵尸进程。补救办法是杀死僵尸进...
Unix网络编程学习笔记之第12章 IPv4与IPv6的互操作性
一、简介假设我们本章讨论的主机都是支持双栈的,即支持IPv4地址,也支持Ipv6地址。我们本次讨论的点:客户端与服务器端使用的是不同类型的地址。因为相同类型的地址没什么可讲的。 二、IPv4客户端与IPv6服务器即,客户端使用IPv4地址套接字来通信,服务器端使用IPv6地址套接字通信。原理:0.首...
记录一次配置unix网络编程环境的过程和遇到的问题
记录一次搭建unix网络编程环境过程中遇到的问题和总结计算机环境虚拟机 linuxmint-18-xfce-64bit1.打开unix网络编程.iso把目录下的文件复制到某一目录,修改权限,可命令可鼠标操作。2.s@ss-Linux~/unix/unpv13e$sudosu[sudo]s的密码:ss...
【Unix网络编程】chapter6IO复用
chapter6 6.1概述I/O复用典型使用在下列网络应用场合。(1):当客户处理多个描述符时,必须使用IO复用(2):一个客户同时处理多个套接字是可能的,不过不叫少见。(3):如果一个TCP服务器既要处理监听套接字,又要处理已连接套接字。(4):如果一个服务器既要处理TCP,又要处理UDP(5)...
UNIX网络编程1.5一个简单的时间获取服务器程序1.6客户服务器程序索引表
#include"../lib/unpsunyj.h"#include<time.h>intmain(intargc,char**argv){intlistenfd;intconnfd;sockaddr_inservaddr;charbuff[MAXLINE];time_tticks...
《 UNIX网络编程》源码的使用
关于最近在学网络编程,借了一本书《UNIX网络编程第一卷:套接口API(第3版)》STEVENS大神著的!学习编程这东西,看代码,改代码,运行代码这样才能学到实际东西!本书说在www.unpbook.com可以获取源码,不过打不开!所以googleunpv13e.tar.gz并在网络上找到了:源码:...
Unix网络编程第三版源码编译
环境:$cat/etc/issueUbuntu12.04.1LTS\n\l$cat/proc/versionLinuxversion3.2.0-48-generic(buildd@komainu)(gccversion4.6.3(Ubuntu/Linaro4.6.3-1ubuntu5))#74-Ub...
UNIX网络编程中的字节序问题
1、inet_pton函数原型:inet_pton:将“点分十进制”->“二进制整数”intinet_pton(intaf,constchar*src,void*dst);这个函数转换字符串到网络地址,第一个参数af是地址簇,第二个参数*src是来源地址,第三个参数*dst接收转换后的数据。i...
UNIX网络编程——套接字选项(setsockopt)
setsockopt的一些用法:closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOLbReuseaddr=TRUE;setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(constchar*)&bReuseaddr...
学习《UNIX网络编程卷一》笔记
P110解决网络编程可能会遇到的三种情况:(1)当fork子进程时,必须捕获SIGCHLD信号;(理解:这里的捕获不是立即去捕获,而是注册捕获信号,随时在子进程发送信号的时候了,就捕获。为什么要早注册呢,是因为你不知道子进程什么时候发。)(2)当捕获信号时,必须处理被中断的系统调用;(3)SIGCH...
UNIX网络编程3:基本TCP套接字编程
1.基本TCP客户/服务器程序的套接字函数2.socket函数:指定期望的通信协议类型#include<sys/socket.h>intsocket(intfamily,inttype,intprotocal);//若成功则返回非负描述符,若失败则返回-1socket函数成功时返回的为套...
UNIX网络编程卷1 服务器程序设计范式4 预先派生子进程,以线程互斥锁上锁方式保护accept
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie1.文件上锁文件系统操作,比较耗时2.线程上锁,不仅适用于同一进程内各线程之间的上锁,也适用于不同进程之间的上锁。3.在不同进程之间使用线程上锁要求:1)互斥锁变量必须存放在由所有进程共享的内存...
《UNIX网络编程:套接字联网API》啃书笔记(第8UDP套接字编程、11章地址转换)
基本UDP套接字编程下图为UDP客户/服务器程序的函数调用:注意客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数据报,其中必须指定目的地的地址作为参数。类似的,服务器不接受来自客户的连接,而是只管调用recvfrom函数,等待来自某个客户的数据到达。recvfrom将与所接收的数据...