04第四讲 远程文件传输.ppt
文本预览下载声明
第4讲 远程文件传输 一、聊天程序介绍 二、远程文件传输程序介绍 一、聊天程序介绍 功能简介 模拟二个人聊天的程序,任何一端都能发送和接收字符信息; 当任何一方输入 “Exit”时,聊天结束,退出应用程序。 总体流程图(TCP) 类功能介绍 ChatSend.java-发送消息 ChatReceive.java-接收消息 ChatClient.java-与服务器端建立Socket连接并启动发送线程和接收线程 ChatServer.java-接受客户端的请求,并建立Socket连接,同时也启动发送线程和接收线程。 发送线程 发送线程类 public class ChatSend extends Thread{ ……//构造方法初始化dout public void run(){ while(true){ String msg = 从键盘接收的信息; dout.writeUTF(msg); if(聊天结束) break; } } } 接收线程 接收线程类 public class ChatReceive extends Thread{ ……//构造方法初始化din public void run(){ while(true){ String msg = din.readUTF(); if(聊天结束) {关闭socket; break;} } } } ChatClient.java--客户端程序 Socket st = new Socket(“localhost”, 4321); DataOutputStream dout = …… ; DataInputStream din = …… ; ChatSend cs1 = new ChatSend(dout); cs1.start(); ChatReceive cr1 = new ChatReceive(din); cr1.start(); ChatServer.java--服务器端程序 ServerSocket ss = new ServerSocket(4321); Socket socket = ss.accept(); //得到与socket相关的输入/出流din和dout; ChatSend cs2 = new ChatSend(dout); cs2.start(); ChatReceive cr2 = new ChatReceive(din); cr2.start(); 思考 如何为聊天程序扩展图形界面? 如何把使用TCP协议改为使用UDP协议? 什么时候关闭Socket比较合适?是在发送 “Exit”后还是接收到 “Exit”后? 如何在聊天时发送表情? 如何把二人聊天扩展为聊天室(书上P69)? 二、远程文件传输程序介绍 功能简介 实现在任意二台主机之间传送文件 必须有图形界面 发送界面 接收界面 总体流程图 发送文件 接收文件 例如 RTFSend.java--用于发送文件 RTFReceive.java--用于接收文件 思考 如何实现多个文件的同时传输? 如何实现视频聊天和语音聊天?如书上第8章。 在完成聊天程序和远程文件传输程序后,可以考虑类似QQ的即时聊天软件? 仰恩大学计算机与信息学院
显示全部