上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要: UDP是无连接的,不需要accept,TCP通过accept API来接受连接,并且将连接客户端的信息写入到accept将返回的新socket中,该新socket中有服务端和客户端的IP地址和端口,因此可以通过getsockname和getpeername来获取相应的信息。 相对应的,UDP没有ac 阅读全文
posted @ 2017-04-18 22:37 impluse 阅读(209) 评论(0) 推荐(0)
摘要: 在UNP卷一第三版的第8章8.9小节中说到:如果udp服务器没有启动,udp客户端在使用sendto发送一行文本后,将会等待一个永远也不会出现的应答从而阻塞在recvfrom调用上。 由于服务器端不存在,那么客户端将得到ICMP差错报文,但是这个差错却不返回给UDP,因为recvfrom仅能返回er 阅读全文
posted @ 2017-04-06 17:41 impluse 阅读(475) 评论(0) 推荐(0)
摘要: select函数 阅读全文
posted @ 2017-03-20 15:19 impluse 阅读(435) 评论(0) 推荐(0)
摘要: 最近阅读UNIX网络编程第四章时,书本末尾介绍了两个函数getsockname()和getpeername(),可以用于获取服务器端和客户端的IP地址与端口,原本很简单的两个函数,过一眼即明白函数的用法,但在实际编程测试中,却出现了一个让人意外的结果,如下图所示: 这两个函数在第一个客户连接时解析出 阅读全文
posted @ 2017-03-13 22:47 impluse 阅读(7132) 评论(3) 推荐(2)
摘要: 所有操作系统都为运行在它之上的程序提供各种服务,典型的服务包括:执行新程序、打开文件、读写文件、分配存储空间、提供时间等。 UNIX体系结构 严格来说,操作系统是一种软件,它控制计算机硬件资源,提供程序运行环境。这种软件有个专业术语名称:内核。因为它小且位于计算机体系的核心。如下图所示: 上图中的系 阅读全文
posted @ 2017-02-16 10:28 impluse 阅读(515) 评论(0) 推荐(0)
摘要: 1.1 按1.9节未尾的步骤找出你自己的网络拓扑的信息。 1.2 获取本书示例的源代码(见前言),编译并测试图1-5所示的TCP时间获取客户程序。运行这个程序若干次,每次以不同IP地址作为命令行参数。 1.3 把图1-5中的socket的第一参数改为9999。编译并运行这个程序。结果如何?找出对应于 阅读全文
posted @ 2017-02-10 11:30 impluse 阅读(479) 评论(0) 推荐(0)
摘要: 。 阅读全文
posted @ 2017-02-07 19:39 impluse 阅读(305) 评论(0) 推荐(0)
摘要: 本章介绍系统编程的基础概念和一些后续章节用到的函数及头文件,并说明了可移植性问题。 系统调用是受控的内核入口,通过系统调用,进程可以请求内核以自己的名义去执行某些动作,比如创建子进程,执行I/O操作,进行进程间的通信等。 系统调用与C语言的函数调用类似。但是系统调用的过程比C语言函数调用复杂,开销也 阅读全文
posted @ 2017-01-18 15:47 impluse 阅读(2654) 评论(17) 推荐(1)
摘要: 本章预热与后续系统编程有关的概念。 术语“操作系统”通常包含2种含义:一是指完整的软件包,包括管理计算机资源的核心组件,已经附带的标准软件;二是独指管理硬件的内核。 内核具有诸多概功能,包括: 进程管理 内存管理 文件系统支持 设备管理 在内核的管理下,操作系统会给每个用户营造一种抽象:虚拟化,即使 阅读全文
posted @ 2017-01-15 13:44 impluse 阅读(366) 评论(0) 推荐(0)
摘要: Unix的开发不受控于某一个厂商或者组织,是由诸多商业和非商业团体共同贡献进行演化的。这导致两个结果:一是Unix集多种特性于一身,二是由于参与者众多,随着时间推移,Unix实现方式逐渐趋于分裂。 由于第二个结果导致的发展就是:大家要求统一标准。类似秦王扫六合,统一文字和货币。 Unix出现之后很快 阅读全文
posted @ 2017-01-13 11:04 impluse 阅读(389) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页