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

实验项目1——Linux开发环境及网络编程基础 实验编号:CS0608301 1.1 实验目的 本次实验的主要目的是在于帮助学生熟悉Linux平台的开发环境,了解Linux的套接字基本编程方法及API。本课程是在Linux环境下进行的,因此需要学生对Linux的基本操作环境和基本命令有所了解,并在能够操作的基础上完成对通信小程序的编写。 1.2实验内容 1、编写两个通用过程connectSock及passiveSock,放于文件sockutil.c中; 使用TCP协议编写通信小程序,客户机向服务器发送连接请求(请求信息任意),服务器返回客户机的进程pid信息。客户机进程通过服务器进程fork产生;编写makefile进行编译运行。 1.3实验基础知识 1、TCP/IP协议提供了传输数据的基本机制,允许程序员在两个应用程序之间建立通信并传递数据。 2、Linux提供系统函数对设备或文件进行I/O操作:open close read write lseek ioctl 等。 如:desc = open ( “filename”, O-RDWR, 0); read (desc, buffer, 128); close(desc); 3、套接字API 应用程序使用open来创建文件描述符;使用socket创建套接字描述符。 类属地址结构:(地址族,该族中的端点地址)。 socket用法: retcode =socket( family, type, protocol );用于创建套接字,返回该套接字的整数描述符。 Family int PF-INET(TCP/IP) Type int SOCK-STREAM(TCP) SOCK-DGRAM(UDP) 返回值: 成功 描述符 失败 -1 errno 记录错误代码 4、消息传递 基本操作: send, receive. 信道:可靠信道, 不可靠信道。 通信方式: 面向连接,非连接。 面向连接的消息传递: connect , disconnect . 5、客户/服务器范型:最常用的网络应用范型 服务器进程:角色---服务提供者,被动等待服务请求的到达。 客户进程:角色---客户,主动向服务器发出请求,并等待服务器的响应。? 6、连接请求 connect 用法: retcode = connect( socket, addr, addrlen); Addr sockaddr-in 返回值: 成功 0 失败 -1 7、绑定本地地址bind 用法: recode= bind( socket, localaddr, addrlen ); localaddr sockaddr IP地址参数和端口值的含义: IP地址 端口 含义 INADDR_ANY 0 内核选择IP地址和端口 INADDR_ANY 非0 内核选择IP,应用确定端口 本地IP 0 应用确定IP,内核选择临时端口 本地IP 非0 应用选择IP和端口 8、并发进程 Fork函数:将运行的程序分为两个几乎完全一样的进程。 描述:用户执行该并行程序,OS创建一个含单线程的进程执行代码;当线程执行到fork调用时,OS复制进程,在新进程中创建一个线程,并让原来的线程和新创建的线程继续执行。 虽然一个进程可以包含多个线程,fork调用新创建的进程都是单线程的。操作系统shell在执行一个命令时只创建一个进程,而该进程也只启动一个线程执行命令除非程序员明确创建了多个线程,否则每个进程都是单线程的。 由fork创建的进程与原进程不同:作为函数的fork向调用者返回一个值。在新创建的进程里,fork返回零;在原进程里,fork返回一个小整数标识新进程;这个返回值称为进程标识符或进程id。在原来的进程和新创建的进程里,fork所返回的值是不同的;并发程序利用这个区别让新进程执行与原来进程不一样的代码。 9、Makefile 文件描述了整个工程的编

文档评论(0)

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

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

1亿VIP精品文档

相关文档