java简单聊天程序实验报告及代码.docx

上传人:小飞机 文档编号:3159802 上传时间:2023-03-11 格式:DOCX 页数:4 大小:37.99KB
返回 下载 相关 举报
java简单聊天程序实验报告及代码.docx_第1页
第1页 / 共4页
java简单聊天程序实验报告及代码.docx_第2页
第2页 / 共4页
java简单聊天程序实验报告及代码.docx_第3页
第3页 / 共4页
java简单聊天程序实验报告及代码.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《java简单聊天程序实验报告及代码.docx》由会员分享,可在线阅读,更多相关《java简单聊天程序实验报告及代码.docx(4页珍藏版)》请在三一办公上搜索。

1、java简单聊天程序实验报告及代码一、实验内容 实验题目: 1、使用URL访问用户指定网站,获取该网页的HTML代码显示给用户,并能保存至指定文件中。 2、使用ServerSockt,Socket对象实现两个用户之间的端到端聊天。 要求:采用UI界面设计,界面友好。 二、实验过程 题目1、 1、分析题目,了解URL类及其方法。 2、设计一个模拟浏览器界面,有一个文本框,文本区域,一个搜索按钮,一个保存按钮。 3、在搜索事件里面写获取HTML的代码,在保存你面写将内容保存至文件中。 题目2、 1、分析题目,了解import .*,包下用到的一些类,比如URL, Socket和ServerSock

2、et,以及这些类的方法,根据要实现的功能,进行调用。了解端到端的通讯,以及怎样建立连接。 2、设计界面:服务器界面,客户端界面。 3、写出对内容的读写代码,注意哪部分功能,在什么时候实现,应该写在哪部分。以及怎样通信:如图 三、实验结果 ,图表,屏幕截图。在实验报告中,可任选其中一种或几种方法并用,以获得最佳效果。) 题目一、 界面与结果截图: 题目2、 服务器端截屏: 客户端截屏: 四、讨论与分析 1、了解了URL类的应用和方法,比如通过openStream方法打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream,将读入的内容显示到文本域,保存按钮实现的功能和记事本的

3、另存功能一样,这里就不再叙述。 2、在写实现端到端的聊天的过程中遇到很多问题: 刚开始把所有的代码都写到发送按钮里,造成很多错误,而在经过老师的分析过后,才清楚了serversocket和socket的通信是怎样建立起来的,如下图,是服务器端和客户端建立通信的过程: 后来重写的时候就把循环读的代码写在界面的一个构造函数里面,结果造成,界面不能显示,后来经过仔细分析代码之后,了解了APPLICATION自身生成的方法之后,才知道程序停留在循环读取那里,之后的代码都不能执行。应该把读取操作写在界面显示之后。 3、在服务器和客户的定义那里 frame.ss = new ServerSocket(62

4、40)和 frame.s = new Socket(127.0.0.1, 6240)其中port部分应该是两个一致,来建立连接。但是如果在我的代码里面把其中的6240改成6000就不能进行通信。所以就很疑问,不是两个定义的端口号一样就可以进行通信的吗?为什么有些值就不行? 五、附录:关键代码 客户端: 在Frame类中定义变量: Socket s; OutputStream os; InputStream is; 1、将以下代码写在界面可见后面,即进行循环的读操作。 try frame.s = new Socket(127.0.0.1, 6240); frame.os = frame.s.ge

5、tOutputStream; frame.is = frame.s.getInputStream; while (true) byte buf = new byte100; int len = 0; try len = frame.is.read(buf); frame.txt2.append(Server say: + new String(buf, 0, len) + n); catch (IOException ex1) catch (Exception ex) 2、发送按钮实现以下代码 public void send_actionPerformed(ActionEvent e) tr

6、y os.write(txt1.getText.getBytes); txt2.append(I say: + txt1.getText + n); catch (Exception ex) txt1.setText(); 即进行写操作。将文本框的内容写出去。 服务器端: 在Frame类中定义变量: ServerSocket ss; Socket s; OutputStream os; InputStream is; 1、将以下代码写在界面可见后面,即进行循环的读操作。 try frame.ss = new ServerSocket(6240); frame.s = frame.ss.acce

7、pt; frame.txt2.append(已和客户端建立连接可以通信n); frame.os = frame.s.getOutputStream; frame.is = frame.s.getInputStream; while (true) byte buf = new byte100; int len = 0; len = frame.is.read(buf); frame.txt2.append(Client say: + new String(buf, 0, len) + n); 2、发送按钮实现以下代码 public void send_actionPerformed(ActionEvent e) try os.write(txt1.getText.getBytes); txt2.append(I say: + txt1.getText + n); catch (Exception ex) txt1.setText(); 即进行写操作。将文本框的内容写出去。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号