欢迎来到天天文库
浏览记录
ID:28038199
大小:224.50 KB
页数:7页
时间:2018-12-07
《实验六java网络通信程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验六Java网络通信程序设计一、实验目的1.了解Java语言的网络通信功能,以及Socket通信的概念2.掌握Socket通信的编程方法二、准备工作1.JDK的安装设置:JDK7JRE/JVM;2.Eclipse集成开发环境的绿色安装;3.ChatServer.java/Connection.java/hosts.txt三、实验描述1.实验类型:设计2.实验学时:2学时3.实验内界:编写代码来实现chatroom客户端与聊天服务器的连接4.实验要求:聊天服务器负责将从一个客户端受到的消息发送给所有连接的客户端(包括最初的发送者)。因此,必须对聊天客户端(应用程序)进行修改,使其能够执
2、行两个行为:①它必须将用户的消息发送给服务器;②它必须将从服务器接收的消息显示到输出JTextArea组件。5.修改ChatClient类:①导入java.net和java.io包。②添加保存套接字连接的输入和输出流的实例变量。其他变量的添加取决于具体实现。③添加doConnect方法以启动到服务器的TCP/IP套接字连接。服务器应用程序的主机名(或IP地址)可以设定成本机的环回地址,端口号与服务器端口号保持一致。a.对服务器IP和端口信息进行初始化b.创建与聊天服务器的连接c.准备输入流并将其存储在一个实例变量中d.准备输出流并将其存储在一个实例变量中e.启动阅读器线程f.使用cat
3、ch子句捕获任何异常①修改LaunchFrame方法以调用doConnect方法。②修改SendHandler嵌套类以便将消息文本(以及用户名)发送给套接字输出流。删除向输出文本区域显示消息的代码。③创建实现Runnable接U的RemoteReader嵌套矣。run()方法必须一次从无限循环的套接字输入流中读取一行。四、实验要求及总结1.结合上课内容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分析结论。2.整理上机步骤,总结经验和体会。3.完成实验报告和上交程序。实验六:实验结果:importjava.awt.*;importjava.io.*;importjav
4、a.net.*;importjava.awt.color.*;importjavax.swing.event.*;importjava.util.*;importjava.net.Socket;importjava.text.*;importjava.awt.event.*;importjavax.swing.*;publicclassChatroomextendsJFrameimplementsActionListener,ItemListener,Runnable{//使用Runnable接口Socketsocket=null;//声明套接字对象Threadthread;//声明T
5、hread对象DatalnputStreamin=null;//输入输出流,这里使用数据流DataOutputStreamout=null;JMenuBarmenubar;JMenuFile,Help,edit;JMenuItemsend,quit,about,copy,cut,paste;JTextFieldtext;JButtonConnect,Send,Quit;//声明链接组件Connect,用丁选接服务器JTextAreaarea;JComboBoxchoice,list;JPanelpanel,pane!2;Colorred=newColor(255,0,0);Colorg
6、reen=newColor(0,255,0);Colorblue=newColor(0,0,255);Coloryellow=newColor(255,255,0);publicChatroom(){setBounds(100,100,150,150);setVisible(true);setDefaultClo$eOperation(JFrame.EX!T_ON_CLOSE);init();)publicvoidinit(){setTitle("客户端");FlowLayoutflow=newFlowLayout();flow.setAlignment(FlowLayout.LEFT
7、);socket=newSocket();thread=newThread(this);panel2=newJFanel(flow);menubar=newJMenuBar();File=newJMenu("FIle");Help=newJMenu("Help");edit=newJMenu(’’edit’’);send=newJMenuItem("send’’,newImagelcon("F:/workspace/ChatRoom/src/2
此文档下载收益归作者所有