欢迎来到天天文库
浏览记录
ID:44050080
大小:290.04 KB
页数:8页
时间:2019-10-18
《搜索引擎技术基础-多线程编程实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、昆明理工大学信息工程与自动化学院学生实验报告(2011—2012学年第1学期)课程名称:搜索引擎技术基础开课实验室:信自楼4452011年11月9日O姓名教导指师松青黄教师评语w(1L)0日対帅期恥各月舷制柯语教年O•二按分、、、实)0割-八O戋I.)O分罗J土11**^41TBV、Lm确性wwa娜正特矢{结正。豹整、、整总念H。訝完X的完和概仍>)M気/、細塹知恿(1107貼记格实处验清练—、据表括及实理熟新容数般包据徐条能创验專'、容验做藪俏輸实数图内芽炙工操见习验线本、成写验的预。实路基骤完书实人前H查术告步芷告场个提分检技报法独报现有O。亍、3、x)z'、、、-(二三
2、分四验五六七八一、实验目的1、掌握Socket通信原理。2、掌握并实现多线程编程技术二、实验原理及基本技术路线图(方框原理图)无三、上机平台、环境PC机,MyEclipse7・5版本四、实验方法、步骤1、通过Socket通信实现客户端与服务器端的通信。2、实现服务器端对客户端的多线程技术。五、实验过程原始记录(数据.图表、计算等)1、通过Socket通信实现客户端与服务器端的通信。Socket通信分为ServerSocket和Socket两部分,ServerSocket类提供TCP连接服务,Socket类提供进行通信的Socket对象。建立TCP连接的各个步骤:分别是:•服务器创
3、建一个ServerSocket对象,指定端口号,ServerSocket对象等待客户端的连接请求。•客户端创建一个Socket对象,指定主机地址和端口号,向服务端发岀连接请求。•服务端接收到客户端的连接请求,建立一条TCP连接,再创建一个Socket对象与客户端的Socket对象进行通信。•当一方决定结束通信,向对方发送结束信息;另一方接收到结束信息后,双方分别关闭各自的TCP连接。•ServerSocket对象停止等待客户端的连接请求。作为服务器首先构造一个提供TCP连接服务的ServerSocket对象,然后指定其端口号,如果接收到客户端的连接请求,则建立一条TCP连接,再创
4、建一个Socket对象与客户端的Socket对彖进行通信,然后将从文件屮读入的数据传送给客户端。由于服务器需要一直等待连接,所以需要监听端口请求。源程序:(1)服务器端EchoScrvcr.javapackagetest1;importjava•net•*;publicclassEchoServerimplementsRunnable{publicstaticvoidmain(Stringargs[])throwsException{//所有异常抛出ServerSocketserver=null;//定义ServerSocket类Socketclient=null;//表示客户端
5、server=newServerSocket(8888);//月艮务器在8888端口上监听booleanf=true;//定义个标记位while(f){System.out.printin(••服务器已经运行,等待客户端连接。”);client=server.accept();//得到连接,程序进入到阻塞状态EchoThreadthread=newEchoThread(client);Threadechothread=newThread(thread,'thread'*);echothread.start();}client・cJ_ose();}0Overridepublicvo
6、idrun(){}}(1)客户端EchoClicnt.javaimportjava.net.*;importjava.io.*;publicclassEchoClient{publicstaticvoidmain(Stringargs[])throwsException{//所有异常抛出Socketdient=null;//表示客户d帶client=newSocket(,!localhostJ8888);BufferedReaderbuf=null;//一次性接收完成Printstreamout=null;//发送数据BufferedReaderinput=null;//接收键盘
7、数据input=newBufferedReader(newInputStreamReader(System.in));buf=newBufferedReader(newInputStrearnReader(client•getlnputStream()));out=newPrintStream(client.getOutputStream());booleanflag=true;//定义标志彳立while(flag){System,out.print("欢迎登陆:”);Strin
此文档下载收益归作者所有