网络编程的基础.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络编程的基础

第一章 网络编程基础 内容 网络操作系统的概念 网络操作系统的任务 常规任务 网络任务 主流的网络操作系统 Windows系列 UNIX或Linux Netware UnixWare 1、Unix UNIX是一个多用户、多任务的分时操作系统, UNIX系统主要由内核、外壳、文件系统、命令4个部分组成。 UNIX中包含3个主要的网络包: TCP/IP 基本网络实用程序(BNU) 网络文件系统(Network File System,NFS) 2、Linux Linux是按照UNIX风格设计的操作系统,所以在源代码级上兼容绝大部分的UNIX标准。但Linux也有自身的特点: 源代码开放 提供GUI 支持大量外部设备和32种文件系统 内置通信联网功能,可让异种机联网 支持并行处理和实时处理 在Linux平台上软件开发成本低 3、Windows系列 Windows操作系统在整个局域网配置中是最常见的,但由于它对服务器的硬件要求较高,且稳定性能不是很高,所以Windows网络操作系统一般只是用在中低档服务器中,高端服务器通常采用UNIX、Linux或Solaris等非Windows操作系统。 在局域网中,Windows网络操作系统主要有:Windows NT 4.0 Server、Windows 2000 Server/Advance Server,以及最新的Windows 2003 Server/Advance Server等。 2、创建新文件 要创建一个新的文件,可以使用creat函数。 3、文件的读写 文件打开以后,就可以对文件进行读写了。可以调用函数read和write进行文件的读写。 2、管道的创建 #includeunistd.h int pipe(int fd[2]); 说明:fd[0]为管道的读取端,fd[1]则为管道的写入端。 返回值:若成功则返回零,否则返回-1。 3、管道的读写 实例:父进程借管道将字符串“hello!\n”传给子进程并显示。 #include unistd.h main() { int filedes[2]; char buffer[80]; pipe(filedes); if(fork() 0){ /* 父进程*/ char s[ ] = “hello!\n”; write(filedes[1],s,sizeof(s)); } else{ /*子进程*/ read(filedes[0],buffer,80); printf(“%s”,buffer); } } 执行结果:hello! 4、管道的局限性 只支持单向数据流; 没有名字,只能用于具有亲缘关系的进程之间; 管道的缓冲区是有限的; 管道所传送的是无格式字节流。 2、有名管道的创建 #includesys/types.h #includesys/stat.h int mkfifo(const char *pathname,mode_t mode); 说明:mkfifo()会依参数pathname建立特殊的FIFO文件,该文件必须不存在,而参数mode与open()函数中的mode参数相同。 3、有名管道的打开 有名管道比管道多了一个打开操作:open。 FIFO的打开规则包括为读而打开FIFO和为写而打开FIFO两方面。 4、有名管道的读写 从FIFO中读取数据 向FIFO中写入数据 #includesys/types.h #includesys/stat.h main() { char buffer[80]; int fd; mkfifo(FIFO,10606); if( fork() 0 ) { char s[ ] = “hello!\n”; fd = open (FIFO,O_WRONLY); write(fd,s,sizeof(s)); close(fd); } else{ fd = open(FIFO,O_RDONLY); read(fd,buffer,80); printf(“%s”,buffer); close(fd); } } 执行结果:hello! 图示:线程和进程 (2)创建一个线程

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档