广工java作业

广工java作业

ID:37761714

大小:259.00 KB

页数:7页

时间:2019-05-30

广工java作业_第1页
广工java作业_第2页
广工java作业_第3页
广工java作业_第4页
广工java作业_第5页
资源描述:

《广工java作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、你的姓名——《Java语言》课程作业(第二次)《Java语言》课程作业(第二次)题目第15题学院计算机学院专业网络工程班别学号姓名2015年5月16日7你的姓名——《Java语言》课程作业(第二次)一、课程题目15.利用Socket类和ServerSocket类编写一个C/S程序,实现C/S通信。客户端向服务器端发送“Time”命令,服务器端接受到该字符串后将服务器端当前时间返回给客户端;客户端向服务器端发送“Exit”命令,服务器端向客户端返回“Bye”后退出。客户端服务器端二、题目分析与设计1.本题目要求创建一个客户端与服务器,两者能进行通信连接,客户端能从服务器获取服务器当前时间,能

2、向服务器申请关闭连接。本题目主要用到Date类、SimplDateFormat类、socket类、SocketServer类、还有线程类等。2.本题目没有界面,没有用到界面组件。3.服务器端主程序监听某一个端口,客户端发起连接请求,服务器端主程序接收请求,同时构造一个线程类,用于接管会话。当一个Socket会话产生后,这个会话就会交给线程进行处理,主程序继续进行监听。实现程序流程是:客户端和服务器建立连接,客户端发送消息,服务端根据消息进行处理并返回相关消息,若客户端申请关闭,则服务器关闭此连接,双方通讯结束。4.使用的开发环境是Eclipse。关键代码主要是I/O输出输入流,还有线程、套

3、接字的连接。三、测试分析预测结果:当客户端输入Time时,服务器输出字符Time到屏幕返回服务器当前时间到客户端,客户端接收从服务器发来的时间并且输出到屏幕。当7你的姓名——《Java语言》课程作业(第二次)客户端向服务器发送字符Exit时,服务器向客户端发送字符Bye然后客户端输出字符Bye到屏幕。下面图1是服务器的结果,图2是客户端的结果,与预测结果一样。图1图27你的姓名——《Java语言》课程作业(第二次)附录:源代码客户端代码:importjava.net.*;importjava.io.*;publicclassClient{publicstaticvoidmain(Strin

4、g[]args)throwsIOException{//TODOAuto-generatedmethodstubtry{Socketsocket=newSocket("127.0.0.1",9);//创建一个流套接字并将其连接到指定IP地址的指定端口号BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));//创建BufferedReader对象读取从键盘输入的字符//由Socket对象得到输出流,并构造相应的BufferedWriter对象,设置输入字符格式为UTF-8类型BufferedWriterbuf

5、Out=newBufferedWriter(newOutputStreamWriter(socket.getOutputStream(),"UTF-8"));//由Socket对象得到输入流,并构造相应的BufferedReader对象,设置输入字符格式为UTF-8类型BufferedReaderbufIn=newBufferedReader(newInputStreamReader(socket.getInputStream(),"UTF-8"));Stringline=null;while((line=buf.readLine())!=null)//读入一行字符串{bufOut.wri

6、te(line);//输出读入的字符到服务器bufOut.newLine();//输出读入的一行字符到服务器后换行bufOut.flush();//刷新输出流,使服务器马上收到该字符Stringstr=bufIn.readLine();//读入从服务器得到的字符if(!("Bye".equals(str)))//如果从服务器读入的字符不是"Bye"{System.out.print(str);//输出从服务器中读入的字符System.out.println();}else{System.out.println("Bye!");//如果从服务器读入的字符是"Bye"则输出"Bye!"到客户端

7、屏幕break;//跳出循环}7你的姓名——《Java语言》课程作业(第二次)}//关闭流socket.close();buf.close();bufOut.close();bufIn.close();}catch(Exceptione)//抛出异常{e.printStackTrace();}}}服务器端代码:importjava.io.*;importjava.net.*;importjava.text.SimpleD

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

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

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