




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1前言31.1 实习背景31.2 实习环境32实习内容42.1 实习过程42.2 实习内容42.3 主要成果183总结223.1 实习体会223.2 其它意见22学生实习鉴定231前言1.1实习背景 科技的高度发展,使得如今的我们不得不掌握一门很有前景的技术,计算机在人们生活学习等等方面起的作用越来越突出,作为一名和IT密不可分的学电子信息工程专业的学生,我们应该提高自己的实际动手能力,促进基业,学校给我们组织了这次充满着深刻意思的达内生产实习。学习Java程序设计语言。除了课堂讲授以外,必须有不少于课堂讲授时的上机时间,是我们尽快掌握用Java语言开发编程的能力,为今后的继续学习,工作打了一个良好的基础。1.2实习环境 达内科技为学生提供商业软件公司真实的软件开发环境,包括开发服务器、Unix/Linux操作系统、Myeclipse6.0开发环境及详细的项目技术文档及相关开发环境,保证学生的项目实践的顺利进行。2实习内容2.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.2实习内容 我们这次生产实习主要做的是即时系统,主要有服务器端、客户端,相应程序如下:/服务器端程序public class Server /存放当前在线用户-名字List users=new ArrayList();/存放当前在线的连接-socketList 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 blocke.printStackTrace(); catch (IOException e) JOptionPane.showMessageDialog(jf,服务器端启动失败); public void updateUsers() jta2.setText();/清空用户列表 jta2.setText(QQ用户当前在线人数+users.size()+n); for(int i=0;iusers.size();i+) String str=users.get(i)+userAdress.get(users.get(i)+n; jta2.append(str); public void startListener() while(true) try final Socket s; /停到这一个,等待客户端的连接s=serverSocket.accept();System.out.println(连接成功);sockets.add(s);final ObjectInputStream ois ;ois=new ObjectInputStream(s.getInputStream();new Thread()public void sendMsg(Message msg)/sockets-OutputStream-writeObject(msg); 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-generated catch blocke1.printStackTrace();/接收服务器端信息 new Thread() JTextField jtf2=new JTextField(10); Message msg2=new Message(); public void run() while(true) try ObjectInputStream ois; ois=new ObjectInputStream( s.getInputStream();msg=(Message)ois.readObject();String type=msg.getType();if(login.equals(type) List users=msg.getUserList(); dlm.removeAllElements(); for(int i=0;iusers.size();i+) dlm.addElement(users.get(i); String mes=jta.getText(); if(mes=null&.equals(mes) jta.setText(msg.getMessage()+n); else jta.append(msg.getMessage()+n); else if(loginOut.equals(type)/更新用户列表/消息框清掉if(userName.equals(msg.getFromName()/如果当前界面是要断开的用户-把用户列表和消息框全部清空dlm.removeAllElements();jta.append(您已下线,请从新连接服务器n);break;else/如果当前界面不是要断开的用户-用户列表少一条记录就行,消息框提示XXX下线 List users=msg.getUserList(); dlm.removeAllElements(); for(int i=0;iusers.size();i+) dlm.addElement(users.get(i)+n); String mes=msg.getMessage(); jta.append(mes+n);else if(send.equals(type)String mes=msg.getMessage();jta.append(mes);else if(personal.equals(type)/判断是否有人与你私聊if(userName.equals(msg.get
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人工智能与机器学习应用技术考试卷及答案
- 2025年科学传播与健康教育综合测试试卷及答案
- 2025年历史文化产业管理考试试题及答案
- 2025年采购与供应链管理测试卷及答案
- 2025年社会工作实践能力测试卷及答案
- 物资库房入库管理制度
- 物资采购工作管理制度
- 特护设备安全管理制度
- 特殊天气应急管理制度
- 特种作业学员管理制度
- 地弹簧门安装合同(2篇)
- IATF16949-2016体系管理质量手册(压铸铝合金)
- 如何正确呼叫120
- 化疗药物引起肾毒性护理
- 粉末静电喷涂工艺
- 古董数字化展示
- (部编版)统编版小学语文教材目录(一至六年级上册下册齐全)
- 陕西延长石油集团招聘笔试题库2024
- 2024年黑龙江省绥化市中考物理二模试卷(含答案)
- GB/T 44271-2024信息技术云计算边缘云通用技术要求
- 智慧树知到《星期音乐会(同济大学)》章节测试答案
评论
0/150
提交评论