资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
目 录1 1前言前言.3 31.1 实习背景.31.2 实习环境.32 2实习内容实习内容.4 42.1 实习过程.42.2 实习内容.42.3 主要成果.183 3总结总结.2 22 23.1 实习体会.223.2 其它意见.22学生实习鉴定学生实习鉴定 .2 23 31 1 前言前言1.11.1实习背景实习背景科技的高度发展,使得如今的我们不得不掌握一门很有前景的技术,计算机在人们生活学习等等方面起的作用越来越突出,作为一名和IT密不可分的学电子信息工程专业的学生,我们应该提高自己的实际动手能力,促进基业,学校给我们组织了这次充满着深刻意思的达内生产实习。学习Java程序设计语言。除了课堂讲授以外,必须有不少于课堂讲授时的上机时间,是我们尽快掌握用Java语言开发编程的能力,为今后的继续学习,工作打了一个良好的基础。1.21.2实习环境实习环境达内科技为学生提供商业软件公司真实的软件开发环境,包括开发服务器、Unix/Linux操作系统、Myeclipse6.0开发环境及详细的项目技术文档及相关开发环境,保证学生的项目实践的顺利进行。2 2 实习内容实习内容2.12.1实习过程实习过程在windows操作系统下,使用Eclipse开发工具,使用Java语言进行支持跨平台对QQ聊天室的软件开发。6月25日: 开学典礼,练习操作系统windows下,在Java中HelloWorld编写6月26日: 讲述输入数据、循环控制及随机数的产生 讲述流程控制、面向对象知识6月27日: 讲述字符串的输出及长度统计、八类数据类型、数据之间的转化以及标识符的命名规则 6月28日: 讲述构造函数new、类的封装、Java的访问权限、线程及线程的五种状态、实现方法、启动方法 6月29日: 讲述字节流、字符流及网络编程的服务器端编程步骤、客户端的编程步骤 6月30日: 讲述Socket编程、下午启动QQ聊天室7月02日: 上午继续练习QQ聊天室的相关知识,下午学习Swing7月03日: 开始做即时通信项目7月04日: 去达内本部进行模拟面试7月05日: 上午学生做项目并处理所遇到的问题,下午评审项目7月06日: 毕业典礼2.22.2实习内容实习内容我们这次生产实习主要做的是即时系统,主要有服务器端、客户端,相应程序如下:/服务器端程序服务器端程序 public class Server /存放当前在线用户-名字 List users=new ArrayList(); /存放当前在线的连接-socket List sockets=new ArrayList(); Map userAdress=new HashMap(); /服务器端ServerSocket对象 ServerSocket serverSocket; int port=1212; JFrame jf=new JFrame(“QQ服务器“); JTextArea jta1=new JTextArea(2,15); JTextArea jta2;public void startServer()/初始化服务器端界面initFrame();/初始化服务器端端口(ServerSocket对象实例化)initSocket();/启动监听客户端startListener(); public void initFrame()jf.setLayout(new BorderLayout();final ImageIcon ima=new ImageIcon(Server.class.getResource(“ttttt.jpg“);jta2=new JTextArea(10,15);/设置背景图片JPanel jp=new JPanel();jp.setLayout(new BorderLayout();ImageIcon ima1=new ImageIcon(Server.class.getResource(“ttttt.jpg“);JLabel jl=new JLabel(ima1);jp.add(jl,BorderLayout.CENTER);jp.add(jta1,BorderLayout.SOUTH);jta1.setBackground(new Color(190,187,222);jta1.setEditable(false);jta2.setEditable(false);jta2.setBackground(new Color(50,108,222);JScrollPane jsp=new JScrollPane(jta2);ImageIcon ima2=new ImageIcon(Server.class.getResource(“3.gif“);JLabel j2=new JLabel(ima2);ImageIcon ima3=new ImageIcon(Server.class.getResource(“1.gif“);JLabel j3=new JLabel(ima3);/ JLabel j4=new JLabel(ima4); / j4.setSize(new Dimension(200,150); / j3.setSize(new Dimension(200,150);JPanel jp2=new JPanel()public void paint(Graphics g) super.paint(g);ImageIcon ima4=new ImageIcon(Server.class.getResource(“19058.gif“);ImageIcon ima2=new ImageIcon(Server.class.getResource(“3.gif“);g.drawImage(ima2.getImage(),0,0 , 205, 160, null);g.drawImage(ima4.getImage(), 200,0 , 110, 160, null);repaint();jp2.setBackground(new Color(90,87,222);jp2.add(j2); / jp2.add(j3); / jp2.add(j4);jf.add(jp,BorderLayout.NORTH);jf.add(jsp,BorderLayout.CENTER);jf.add(jp2,BorderLayout.SOUTH);jf.setSize(315,650);jf.setIconImage(new ImageIcon(Server.class.getResource(“qq.png“).getImage();jf.setVisible(true); / jf.setLocation(0,0);jf.setResizable(false);jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);public void initSocket()try serverSocket=new ServerSocket(port); jta1.setText(“开始启动QQ服务器.n“);try Thread.sleep(5000); jta1.append(“服务器启动成功!“);jta2.setText(“QQ用户当前在线人数“+users.size()+“n“); catch (InterruptedException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) JOptionPane.showMessageDialog( jf,“服务器端启动失败“); public void updateUsers()jta2.setText(“);/清空用户列表jta2.setText(“QQ用户当前在线人数“+users.size()+“n“);for(int i=0;i=2)JOptionPane.showMessageDialog(jf,“鄙视你“);break;String ip=JOptionPane.showInputDialog(“请输入服务器端:“);int port=Integer.parseInt(JOptionPane.showInputDialog(“请输入服务器端口号:“);try s=new Socket(ip,port);/连接服务器 catch (UnknownHostException e1) count+;JOptionPane.showMessageDialog(jf,“你输入的IP地址不对!“);e1.printStackTrace(); catch (IOException e1) count+;JOptionPane.showMessageDialog(jf, “你输入的端口号不对“);e1.printStackTrace();while(s=null);if(count2)String name=JOptionPane.showInputDialog(“请输入用户名“);userName=name;msg=new Message();msg.setFromName(name);msg.setType(“login“);msg.setSendTime(new Date();/msg.setToName();try oos=new ObjectOutputStream( s.getOutputStream(); oos.writeObject(msg);/发送给服务器消息 oos.flush(); catch (IOException e1) / TODO Auto-
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号