026.4 网络编程 上传文本
2018-10-14 10:49:17来源:博客园 阅读 ()
一般是已经封装好的jar包里面,这里通过原始步骤实现一下这个功能
##############################################################################
客户端步骤:
1、确定连接地址和端口
2、读取文件
3、获取socket输出流
4、发送
5、向服务器发送结束标记,让服务器结束读取动作
6、接收返回信息
7、关闭资源
###UploadTextClient.java
public class UploadTextClient { /** * @param args * @throws IOException * @throws UnknownHostException */ public static void main(String[] args) throws UnknownHostException, IOException { System.out.println("上传文件客户端运行......"); // 客户端: // 步骤: // 1,创建socket,明确地址和端口。 Socket s = new Socket("192.168.1.223", 10006); // 2,源:读取文本文件。获取需要转换的数据。 BufferedReader bufr = new BufferedReader(new FileReader("tempfile\\client.txt")); // 3,目的:网络,socket输出流。将录入的数据发送到服务端。 PrintWriter out = new PrintWriter(s.getOutputStream(),true); // 4,频繁的读写操作。 String line = null; while((line=bufr.readLine())!=null){ out.println(line); } //给服务端发送一个结束标记。这个标记是约定标记。有点麻烦。可以更简单。使用socket对象的shutdownOutput(); s.shutdownOutput();//向服务端发送了结束标记。可以让服务端结束读取的动作。 // 5,源:socket,socket读取流,读取服务端发回来的上传成功信息。 BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream())); String info = bufIn.readLine(); System.out.println(info); // 6,关闭资源。 bufr.close(); s.close(); } }
###########################################################################################
服务端步骤:
1、建立服务端socket
2、接收客户端socket
3、建立文件对象
4、多次接收,写入
5、返回接收完毕信息
6、关闭资源
###UploadTextServer.java
public class UploadTextServer { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { System.out.println("上传文本服务端运行...."); // 服务端: // 思路: // 1,创建服务端socket 明确端口。 ServerSocket ss = new ServerSocket(10006); while (true) { // 获取客户端对象。 Socket s = ss.accept(); System.out.println(s.getInetAddress().getHostAddress()+".....connected"); // 2,源:socket输入流。读取客户端的发过来的数据。 BufferedReader bufIn = new BufferedReader(new InputStreamReader( s.getInputStream())); // 3,目的:文件。 PrintWriter pw = new PrintWriter(new FileWriter("tempfile\\server.txt"),true); // 4,频繁的读写操作。 String line = null; while ((line = bufIn.readLine()) != null) { // if("over".equals(line)){ // break; // } pw.println(line); } // 5,发回给客户端上传成功字样。 PrintWriter out = new PrintWriter(s.getOutputStream(),true); out.println("上传成功"); // 6,关闭客户端。 s.close(); } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:两段关于this的代码
下一篇:Mybaits动态Sql(三)
- 构建自己的jar包上传至Mvaen中央仓库和版本更新 2020-06-11
- 学习笔记之网络编程 2020-06-01
- 网络编程杂谈之TCP协议 2020-05-27
- 抢头条offer机会,抖音面试题:网络编程Socket+数据同步+Red 2020-05-12
- springboot docker jenkins 自动化部署并上传镜像 2020-05-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash