下载此文档

信息安全产品开发实践-并发服务器II——多线程.doc


文档分类:IT计算机 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
X X 大学计算机学院、软件学院
实验报告
学号:_ _ 姓名:_ _ 专业:_软件工程_ 班级:_ _ 第 7 周
课程名称
信息安全产品开发实践 
实验课时
5
实验项目
并发服务器II——多线程
实验时间
实验目的
继续了解Linux下C语言程序开发的过程
了解线程库Pthreads及提供的基本线程的操作线程的属性,了解线程的属性,线程的互斥和同步
掌握多线程网络服务器模型
能在Linux环境实现TCP多线程并发服务器模型
能编写多线程端口扫描程序 
实验环境
X86,WindowsXP,VMware Workstation ,RedHat Linux , SSHSecureShellClient-
实验内容(算法、程序、步骤和方法)
试验题目1
修改远程控制程序服务器程序,将其从循环模式或多进程模式修改为多线程模式
试验题目2
多线程端口扫描程序
实现一个多线程端口扫描程序:
要求:
能同时扫描5个IP地址;
针对每个iP地址,开设100个线程对其进行扫描;
如果端口打开,使用函数getservbyport获取其服务名,在屏幕上打印:IP port servername,如果是未知服务,则屏幕显示:ip port unkonown

实验一:
先来回顾一下上次实验实现的多进程并发服务器:
Unix下的大多数网络服务器程序都是这么编写的,即父进程接受连接,派生子进程,子进程处理与客户的交互。
虽然这种模型很多年来使用得很好,但是fork时有一些问题:
(1)fork是昂贵的。内存映像要从父进程拷贝到子进程,所有描述字要在子进程中复制等等。目前有的Unix实现使用一种叫做写时拷贝(copy-on-write)的技术,可避免父进程数据空间向子进程的拷贝。尽管有这种优化技术,fork仍然是昂贵的;
(2) fork子进程后,需要用进程间通信(IPC)在父子进程之间传递信息。Fork之前的信息容易传递,因为子进程从一开始就有父进程数据空间及所有描述字的拷贝。但是从子进程返回信息给父进程需要做更多的工作。;
而上述两个问题可以通过用线程代替进程的方法来克服,接下来我们再来看下进程的一些特点:
线程有助于解决这两个问题。线程有时被称为轻权进程(lightweight process),因为线程比进程“轻权”,一般来说,创建一个线程要比创建一个进程快10~100倍。
一个进程中的所有线程共享相同的全局内存,这使得线程很容易共享信息,但是这种简易性也带来了同步问题。
一个进程中的所有线程不仅共享全局变量,而且共享:进程指令、大多数数据、打开的文件(如描述字)、信号处理程序和信号处置、当前工作目录、用户ID和组ID。
但是每个线程有自己的线程ID、寄存器集合(包括程序计数器和栈指针)、栈(用于存放局部变量和返回地址)、error、信号掩码、优先级。
程序的编译
gcc –o test -lpthread
有了这些理论准备之后我们就可以编程来实现我们的多线程并发服务器了。
源代码:
/*
* =====================================================================================
*
* Filename:
*
* Description: This program is used to demostrate how to implement a udp rpc server
*
* Version:
* Created: 2013骞?9鏈?4鏃?20鏃?9鍒?2绉? * Revision: none
* Compiler: gcc
*
* Author: Gang Liang
* Organization: Computer Science College, Sichuan Universtiy
*
* =====================================================================================
*/
#include <>
#include <>
#include <>
#include <sys/>
#include </>
#include <sys/>
#include <>
#include <>
#in

信息安全产品开发实践-并发服务器II——多线程 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文档大全
  • 文件大小610 KB
  • 时间2017-10-19