ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:263.46KB ,
资源ID:3978230      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3978230.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Linux网络编程实验指导书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Linux网络编程实验指导书.docx

1、Linux网络编程实验指导书Linux网络编程实验指导书辽宁科技大学软件学院2015年8月30日实验一 TCP数据发送与接收【实验目的】 1、熟练掌握套接字函数的使用方法。 2、应用套接字函数完成基本TCP通信,实现服务器与客户端的信息交互。 【实验学时】 4学时 【实验内容】 实现一个服务器与一个客户之间通讯。具体功能如下: (1)服务器端: 服务器端等待客户的连接,一旦连接成功,则显示客户的IP地址、端口号; 循环接收客户发来的信息并在终端上显示,同时在信息前加入序号并返回给客户端;当从客户接收到bye后不再发送给各户并退出程序。 (2)客户端: 根据用户从终端输入的服务器IP地址及端口号

2、连接到相应的服务器; 连接成功后,循环从终端输入信息,并将信息发送给服务器,再从服务器接收信息,并显示在终端上。 当从终端输入bye并发送给服务器后,程序退出。 实验二 UDP数据发送与接收【实验目的】 1、熟练掌握套接字函数的使用方法。 2、应用套接字函数完成基本UDP通讯,实现服务器与客户端的文件传送 【实验学时】 4学时 【实验内容】 要求: (1)客户可以从服务器下载文件、或向服务器上传文件。 (2)客户可向服务器发送多种指令:DOWNLOAD、UPLOAD、YES、NO、START、END、SHUTDOWN、CONTENT、OKDOWLOAD格式:DOWLOAD filename表示

3、从服务器下载filename文件,如果服务器存在该文件,返回YES,否则返回NO;客户接收如果是YES,可发送START表示开始下载,之后,服务器将文件传送给客户,客户接收并保存;UPLOAD格式:UPLOAD filename表示向服务器上传filename文件,服务器发送NO表示拒绝接收。服务器发送START表示开始传送,之后向服务器传输文件;END:表示文件传送结束SHUTDOWN:表示通讯结束,双方退出。 实验三 多进程服务器【实验目的】 1、熟练掌握进程的创建与终止方法;2、熟练掌握进程间通信方法;2、应用套接字函数完成多进程服务器,实现服务器与客户端的信息交互。【实验学时】 4学时

4、【实验内容】通过一个服务器实现最多5个客户之间的信息群发。服务器显示客户的登录与退出;客户连接后首先发送客户名称,之后发送群聊信息;客户输入bye代表退出,在线客户能显示其他客户的登录于退出。实现提示:1、服务器端:服务器进程称之为主进程,主进程创建一个转发子进程和最多5个通信子进程。主进程与转发子进程之间: 信号量(初值5,主进程接受一个客户连接后执行P操作判断是否超过5,转发子进程有一个客户退出后执行V操作,并发消息队列标识符) 命名管道SERVER(转发子进程将可用的消息队列标识符写入管道,主进程从管道中读取消息队列标识符)转发子进程与通信子进程之间: 命名管道CLIENT(通信子进程向

5、命名管道写入客户端发来的消息,转发子进程从管道中读取消息并发送给对应的客户端) 消息队列(转发子进程将客户发来的信息通过消息队列发送给每个通信子进程)(1)主进程:从转发子进程获取一个可用的消息队列标识符;接收客户连接请求,如果连接数超过最大连接数,向客户发送退出标志,否则发送OK标志;每接受一个连接,创建一个通信子进程并将连接socket、消息队列标识符、客户地址传递给通信子进程。(2)通信子进程:创建一个子进程负责从消息队列中读取消息,发送给客户。通信子进程负责接收客户发来信息,通过命名管道CLIENT发送给转发子进程;若信息为用户名,附带消息队列、客户地址发送给转发子进程;若信息为退出,

6、终止子进程,程序结束 (3)转发子进程: 创建5个消息队列; 维护客户信息表:消息队列、客户名、客户IP、客户端口、状态。 从命名管道CLIENT中读取通信子进程发来的消息,消息类型为:用户名、退出及一般信息; 若为用户名,依据消息队列在更新客户信息表,状态为可用; 若为一般信息,将信息转换后写入可用客户的消息队列,等待其他通信子进程读取; 若为退出,在客户信息表中状态设为不可用,执行信号量V操作,并将可用客户的消息队列标识符写入到命名管道SERVER; 2、客户端: 根据用户从终端输入的服务器IP地址及端口号连接到相应的服务器; 连接成功后,先发送客户名称; 创建一个子进程负责接收服务器发来

7、的信息,并显示; 主进程循环从终端输入信息,并将信息发送给服务器; 当发送给服务器为bye后,关闭子进程,程序退出。 实验四 多线程服务器【实验目的】 1、熟练掌握线程的创建与终止方法;2、熟练掌握线程间通信同步方法;3、应用套接字函数完成多线程服务器,实现服务器与客户端的信息交互。【实验学时】 4学时【实验内容】通过一个服务器实现最多5个客户之间的信息群发。服务器显示客户的登录与退出;客户连接后首先发送客户名称,之后发送群聊信息;客户输入bye代表退出,在线客户能显示其他客户的登录于退出。 实现提示: 1、服务器端: 主线程: 定义一个全局客户信息表:socket描述符、客户名、客户IP、客

8、户端口、状态。 主线程循环接收客户连接请求,如果连接数超过最大连接数,向客户发送EXIT标志,否则发送OK标志; 否则,将socket描述符、客户IP、客户端口号写入客户信息表,并修改状态为1表示可用; 同时创建一个通信线程并将客户索引号index传递给通信线程。 通信线程: 通信子进程负责接收客户发来信息并显示,同时查询全局客户信息表,向状态为1的客户发送接收的信息。 若信息为用户名,修改全局客户信息表中index客户的用户名name。 若信息为退出,终止线程,程序结束。 2、客户端: 根据用户从终端输入的服务器IP地址及端口号连接到相应的服务器; 连接成功后,先发送客户名称; 创建一个线程

9、负责接收服务器发来的信息,并显示,当接收的长度小于等于0时终止线程; 主进程循环从终端输入信息,并将信息发送给服务器; 当发送给服务器为bye后,程序退出。 实验五 名字与地址解析【实验目的】 1、理解从域名到IP以及从IP到域名的解析过程;2、熟练从域名到IP以及从IP到域名的解析方法;【实验学时】 2学时【实验内容】(1)编写一段程序解析TCP中1100号端口代表的服务; (2)编写一段程序解析UDP中1100号端口代表的服务; (3)编写一段程序解析http、dns、ftp、smtp、pop3协议使用的端口号。 实验六 组播通信【实验目的】 1、熟练掌握线程的创建与终止方法;2、应用组播技术实现组播通信。 【实验学时】 2学时【实验内容】应用组播通信和多线程实现多人聊天室程序。每个用户通过组播向组播组发送信息,同时可以接收来自组播组任何成员发来的组播信息,从而实现客户之间的信息交互。 每个客户输入用户名,在每次组播发送前将用户名作为信息前缀发送。 提示: 主线程:socket;输入组播地址、端口号、用户名;创建子线程(组播地址、端口号);设置组播发送;循环输入信息并发送,当输入bye时结束循环关闭子线程并退出组播 子线程(组播地址、端口号):socket;加入组播组;bind;循环接收并显示

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1