您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 计算机网络实验原理实验四web服务器套接字编程实验报告
云南大学软件学院实验报告实验四、web服务器套接字编程实验报告1.实验目的:编写一个WEB服务器程序,可以接受来自浏览器的访问,并传输页面(包含多个对象)到浏览器。掌握Socket编程。2.实验环境:连入局域网络的主机一台。3.实验指导:超文本传输协议(HTTP)是位于TCP/IP协议的应用层,是最广为人知的协议,也是互连网中最核心的协议之一。HTTP协议是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。一个完整的HTTP协议会话过程包括四个步骤:连接Web浏览器与Web服务器建立连接,打开一个称为Socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功;请求Web浏览器通过Socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递);应答Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面;关闭连接应答结束后Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。4.实验分析,回答下列问题。运行课本中Webserver.java程序。查找资料,写出程序源代码,并加上必要的注释。如能改写该程序,附上修改后的源代码。代码:importjava.io.*;importjava.net.*;importjava.util.*;classWebserver{publicstaticvoidmain(Stringarg[])throwsException{StringrequestMessageLine;Stringfilename;ServerSocketlistenSocket=newServerSocket(2222);SocketconnectionSocket=listenSocket.accept();BufferedReaderinFromClient=newBufferedReader(newInputStreamReader(connectionSocket.getInputStream()));DataOutputStreamoutToClient=newDataOutputStream(connectionSocket.getOutputStream());requestMessageLine=inFromClient.readLine();StringTokenizertokenizerLine=newStringTokenizer(requestMessageLine);if(tokenizerLine.nextToken().equals(GET)){filename=tokenizerLine.nextToken();if(filename.startsWith(/)==true)filename=filename.substring(1);Filefile=newFile(filename);intnumOfBytes=(int)file.length();FileInputStreaminFile=newFileInputStream(filename);byte[]fileInBytes=newbyte[numOfBytes];inFile.read(fileInBytes);outToClient.writeBytes(HTTP/1.0200DocumentFollows\r\n);if(filename.endsWith(.jpg))outToClient.writeBytes(Content-Type:image/jpeg\r\n);if(filename.endsWith(.gif))outToClient.writeBytes(Content-Type:image/gif\r\n);//图片outToClient.writeBytes(Content-Length:+numOfBytes+\r\n);outToClient.writeBytes(\r\n);outToClient.write(fileInBytes,0,numOfBytes);connectionSocket.close();}elseSystem.out.println(BadResquestMessage);}}提示:使用WEB浏览器来测试WEB服务器的程序,如果在本机上测试,本机服务器监听端口为6789,要获得本机上文件名为index.html,应在浏览器指定下列URL;如果服务器程序不在本机上,服务器监听端口为6789,要获得服务器上文件名为index.html,应在浏览器指定下列URLhttp://服务器IP地址:6789/index.html截图:打开网页四、实验总结总结你在实验过程中遇到的问题和解决的方法。1.开始对程序不太理解,后来问了同学才读懂程序。2.检查浏览器中输入的端口号是否和服务器监听的端口号一致。不一致要进行修改。3.所请求的文件可以放在程序根目录下。
本文标题:计算机网络实验原理实验四web服务器套接字编程实验报告
链接地址:https://www.777doc.com/doc-6111476 .html