多线程web server设计与实现

多线程web server设计与实现

ID:15712272

大小:844.00 KB

页数:11页

时间:2018-08-05

多线程web server设计与实现_第1页
多线程web server设计与实现_第2页
多线程web server设计与实现_第3页
多线程web server设计与实现_第4页
多线程web server设计与实现_第5页
资源描述:

《多线程web server设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、多线程WebServer的设计与实现班级:研1428班学号:2141221064姓名:王娇一、概述如今,上网已成为最热门话题,通过Internet,我们既能获取信息又能发布信息,而迅速发展的Web技术更是给Internet应用提供了一个很好的发展方向。当今的许多应用都是基于web技术的,如电子商务、视频会议、远程医疗诊断等。由于HTML语言的标准统一性,只要在设备里建立一个微型web服务器,人们就可以使用现有的Web浏览器与该设备进行双向交互、接收或发送信息。因此,针对微型web服务器的研究和应用,具有重大的意义,它为我们管理、控制和监测各种各样的设备提供了一个

2、很好的途径一基于Internet,也就是说,只要设备接入了Internet,我们就可以在世界上的任何地方十分方便地控制、操纵那些配备有微型Web服务器的设备。二、设计内容1)熟悉WWW服务器和WEB服务器的工作原理;2)熟悉套接字编程的相关知识;3)完成一个简单的WEB服务器的设计与实现,要求能够通过HTTPGET命令获得一个简单的HTML文件;4)运行该服务器,并编写一个简单的HTML文件完成测试。三、实验原理HTTP协议的作用原理包括四个步骤:1)连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建

3、立成功。2)请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:GET路径/文件名HTTP/1.0文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。3)应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。三、实验方法Java实现Web服务器功能的程序设计根据上述HTTP协议的作用原理,实现GET请求的Web服

4、务器程序的方法如下:101)创建ServerSocket类对象,监听端口8080。2)等待、接受客户机连接到端口8080,得到与客户机连接的socket;3)创建与socket字相关联的输入流instream和输出流outstream;4)从与socket关联的输入流instream中读取一行客户机提交的请求信息,请求信息的格式为:GET路径/文件名HTTP/1.05)从请求信息中获取请求类型。如果请求类型是GET,则从请求信息中获取所访问的HTML文件名。没有HTML文件名时,则以index.html作为文件名;6)如果HTML文件存在,则打开HTML文件,把

5、HTTP头信息和HTML文件内容通过socket传回给Web浏览器,然后关闭文件。否则发送错误信息给Web浏览器;7)关闭与相应Web浏浏览器连接的socket字。四、实验过程1.首先打开开发工具MyEclipse8.5MyEclipse8.5是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。向MyEclipse8.5中输入如下Web服务器程序源码:importjava.io.*;importjava.net.*;publicclassWebServer{publicstaticvoidmai

6、n(Stringargs[]){inti=1,PORT=8080;ServerSocketserver=null;Socketclient=null;try{server=newServerSocket(PORT);system.out.println("WebServerislisteningonport"+server.getLocalPort());for(;;){client=server.accept();//接受客户机的连接请求newConnectionThread(client,i).start();i++;10}}catch(Exceptione

7、){System.out.println(e);}}}/*ConnnectionThread类完成与一个Web浏览器的通信*/classConnectionThreadextendsThread{Socketclient;//连接Web浏览器的socket字intcounter;//计数器publicConnectionThread(Socketcl,intc){client=cl;ounter=c;}publicvoidrun()//线程体{try{StringdestIP=client.getInetAddress().toString();//客户机IP地

8、址intdestport

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。