完整的学号?+姓名?《网络应用编程课程设计》课程设计_电子白板

上传人:第*** 文档编号:55661851 上传时间:2018-10-03 格式:DOC 页数:51 大小:1.62MB
返回 下载 相关 举报
完整的学号?+姓名?《网络应用编程课程设计》课程设计_电子白板_第1页
第1页 / 共51页
完整的学号?+姓名?《网络应用编程课程设计》课程设计_电子白板_第2页
第2页 / 共51页
完整的学号?+姓名?《网络应用编程课程设计》课程设计_电子白板_第3页
第3页 / 共51页
完整的学号?+姓名?《网络应用编程课程设计》课程设计_电子白板_第4页
第4页 / 共51页
完整的学号?+姓名?《网络应用编程课程设计》课程设计_电子白板_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《完整的学号?+姓名?《网络应用编程课程设计》课程设计_电子白板》由会员分享,可在线阅读,更多相关《完整的学号?+姓名?《网络应用编程课程设计》课程设计_电子白板(51页珍藏版)》请在金锄头文库上搜索。

1、光信学院 课程设计指导书光信学院光信学院 网通系网通系网络应用编程课程设计网络应用编程课程设计课程设计课程设计Java Socket 网络编程网络编程 -电子白板即时通信程序设计电子白板即时通信程序设计课程设计指导书课程设计指导书20152015 -2016-2016 学年学年 第二学期第二学期课程名称:课程名称:网络应用编程课程设计网络应用编程课程设计 课程代码:课程代码:计划学时:计划学时: 20+2020+20 学分:学分:课程性质:课程性质: 实训实训 面向专业:网络工程(面向专业:网络工程(20132013 级)级)课程负责人:课程负责人:陈顺凡陈顺凡授课老师授课老师: 陈顺凡班级班

2、级( (小班代码小班代码) ): 姓名:姓名: 学号:学号: 课程设计指导书 网络应用编程课程设计网络应用编程课程设计 课程代码 第 2 页1、 课程设计题目:课程设计题目:Java Socket 网络编程网络编程-电子白板即时通信程序设计电子白板即时通信程序设计2、 课程设计要求:课程设计要求:通过本课程设计深刻理解通过本课程设计深刻理解 JavaJava 网络编程的基本方法和技巧网络编程的基本方法和技巧本课程设计所要实现的电子白板程序主要应用的编程技术:(1) Java SWing GUI 界面设计技术(2) Java Socket 网络编程技术(3) Java ObjectInputSt

3、ream 和 ObjectOutputStream 类的实例发送和接收对象的功能(4) 实现 Serializable 接口编写功能类,实现该类对象的网络发送和接收。3、 程序基本功能:程序基本功能:(1)服务器端:提供提供白板图形和文字消息的转发转发功能,把当前的登录到服务器上的所有客户端的电子白板内容群发转发给在线的每个客户,以及群发转发即时文字消息。(2)服务器端保存自第一个用户登录后的所有白板内容。(3)程序的客户端通过 Java Socket 网络协议和服务器实现网络通信,接收服务器端发送过来的白板内容消息并且绘制在该客户端的白板客户区内,接收显示文本消息;绘制白板并发送到服务器端,

4、为所有客户端共享。(4)客户端登录时,发送登录消息,服务器端把当前保存的白板内容发送到该客户端,该客户端收到由服务器发送来的白板内容绘制到客户区。(5)电子白板图形有圆形、填充圆形、矩形、填充矩形、圆角矩形、填充圆角矩形、直线和随机曲线等。4、 GUI 设计设计GUI 设计使用 SUN 公司 SWing 可视 JavaBean 组件技术或 IBM 公司的 SWT 可视JavaBean 组件技术。GUIGUI 设计界面设计界面课程设计指导书 网络应用编程课程设计网络应用编程课程设计 课程代码 第 3 页客户端:客户端使用 SWing 组件技术进行 GUI 界面设计1 1)参考界面)参考界面客户端

5、登陆客户端登陆: :客户端主程序界面客户端主程序界面: :课程设计指导书 网络应用编程课程设计网络应用编程课程设计 课程代码 第 4 页服务器端:服务器端:服务器端为一个控制台应用程序,主要功能是传递客户端消息。5、主要代码:、主要代码:(1 1)SerializableSerializable 接口应用接口应用: 在服务器端通过 ObjectInputSream 和 ObjectOutputStream 以 及 Socket 类传送 dog 类的对象到客户端,在客户端接收由服务器端 传送过来的 dog 对象,并输出器属性。时序图:时序图:类图:类图:1 1)服务器端代码)服务器端代码 imp

6、ort java.io.*; import .*;课程设计指导书 网络应用编程课程设计网络应用编程课程设计 课程代码 第 5 页interface myDog extends java.io.Serializable void setAge(int a);int getAge();void setName(String n);String getName();void run(); class dog implements myDog private int age; private String name;public void setAge(int a) age=a; public int

7、 getAge() return age; public void setName(String n) name = n; public String getName() return name; public void run() System.out.println(“I can run fast!“); public class OServer public static void main(String args) throws IOException dog d = new dog(); d.setAge(10); d.setName(“Tom“); System.out.print

8、ln(d.getAge(); System.out.println(d.getName(); d.run(); ServerSocket s = new ServerSocket(8888); Socket ss = s.accept(); OutputStream out = ss.getOutputStream(); BufferedOutputStream b = new BufferedOutputStream(out); ObjectOutputStream oo = new ObjectOutputStream(b); oo.writeObject(d); oo.flush();

9、2)客户端代码)客户端代码 import java.io.*; import .*;课程设计指导书 网络应用编程课程设计网络应用编程课程设计 课程代码 第 6 页public class OClient public static void main(String args) throws IOException,ClassNotFoundException Socket s=new Socket(“127.0.0.1“,8888); InputStream in=s.getInputStream(); BufferedInputStream input=new BufferedInputSt

10、ream(in); ObjectInputStream inn=new ObjectInputStream(input); dog d=(dog)inn.readObject(); System.out.println(“client:“+d.getAge(); System.out.println(“client:“+d.getName(); d.run(); 编译运行:编译运行:服务器端:服务器端:客户端:客户端:运行结果可以看出,从服务器发送的客户端的 dog 对象,属性被取出、输 出。结果正确。(2 2)简易网络画板电子白板程序)简易网络画板电子白板程序1 1)功能:在服务器端实现简易

11、画板,在客户端同步服功能:在服务器端实现简易画板,在客户端同步服 务器端的画板务器端的画板 2 2)运行截图:运行截图:服务器户、客户端界面服务器户、客户端界面: :课程设计指导书 网络应用编程课程设计网络应用编程课程设计 课程代码 第 7 页3 3)系统类图:系统类图:课程设计指导书 网络应用编程课程设计网络应用编程课程设计 课程代码 第 8 页4 4)实现:实现: a. 首先封装一个 ranomLine 类,作为用鼠标划线的轨迹的记录器,并封装 实现自动划线的方法:其中有一个向量 Vector 域,用来记录鼠标划线所包含的 点的对象,paint(Graphics g)方法是实现遍历 Vec

12、tor 中的点,并将这些 点画出。 import java.io.*; import java.util.*; import java.awt.*; public class randomLine implements Serializable Vector points=new Vector(); Color color=null; int x0,y0,x1,y1; Point point,start,end; public randomLine(Color c) this.color=c; public void setPoints(int x,int y) 课程设计指导书 网络应用编程课

13、程设计网络应用编程课程设计 课程代码 第 9 页point=new Point(x,y); this.points.add(point); public void paint(Graphics g) g.setColor(color); Enumeration allPoints=points.elements(); start=(Point)allPoints.nextElement(); x0=(int)start.getX(); y0=(int)start.getY(); while(allPoints.hasMoreElements() end=(Point)allPoints.nex

14、tElement(); x1=(int)end.getX(); y1=(int)end.getY(); g.drawLine(x0, y0, x1, y1); x0=x1; y0=y1; randomLine 类时序图:类时序图:b.服务器端:服务器端: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import .*; public class myPanel extends JPanel private randomLine ranLine=new randomLine

15、(Color.red); private ServerSocket s; private Socket ss;private ObjectOutputStream output; private OutputStream os ; private BufferedOutputStream b ;private Graphics g; public int x0,y0,x1,y1;课程设计指导书 网络应用编程课程设计网络应用编程课程设计 课程代码 第 10 页public myPanel() setBounds(0,0,400,300); setBackground(Color.white);addMouseMotionListener(new mouseAction(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号