在以前的一个项目中用到过 流 的操作,今天大致总结一下。
与客户方的数据传输其实可以分成几个步骤:
1.封装报文
2.准备链接(包括换取ip,端口,协议,timeout) http和https还需要请求的url 以及httphead
3.发送报文(判断是否要对所做的操作校验)
4.解析返回的报文信息,根据信息修改本次执行的状态
其中简单的4个步骤中,在第二步和第三步中在可以抽象出一个公用的方法,在项目中经过分析发现,http流,https流以及tcp流之间有很大的共通性:
private void prepareConnection() throws Exception {
// 创建连接工厂
ConnectionFactory factory = getConnectionFactory();
// 设置连接属性
setConnectionProperty(factory);
// 构造连接
conn = getConnection(factory);
// 打开连接
openConnection(conn);
// 获取输出流
os = getOutputStream(conn);
}
在创建连接工厂中,可以根据具体的渠道把请求机器的IP、超时设置初始化返回factory对象,这一步http,https,tcp都是通用的;
在设置连接设置中,若有渠道对连接有特殊的操作,比如需要渠道自己校验的key值等;
在构造连接中,根据http,https,tcp创建对应的connection.(后面在详细介绍);
在获取输出流中,直接返回OutputStream 的输出流。
在接下来就是进行交互了:
// 发送报文
send(os, requestStr);
// 关闭输出流
closeOutputStreamQuietly(os);
// 获取输入流
InputStream is = getInputStream(conn);
// 接收报文
String responseStr = recv(is);
// 关闭输入流
closeInputStreamQuietly(is);
//返回报文
return responseStr;
后面基本上一目了然了,对返回的报文进行解析,根据解析的结果修改本次操作的状态。
后续有空会继续补充!尽量编写细致。
相关推荐
总结来说,lua_lpack是Lua中用于字节流操作的重要工具,它通过打包和解包功能实现了数据的序列化和反序列化,使得在网络通信中高效、准确地处理字节流成为可能。无论是在游戏开发还是其他领域,熟悉并掌握lua_lpack...
### Java字符流和字节流详解 #### 一、引言 在Java中,I/O流主要用于处理输入输出操作,包括文件读写等。根据处理数据类型的不同,Java I/O流主要分为字节流和字符流两大类。字节流处理的是8位的字节数据,而字符流...
总结来说,虽然Java的字节流不直接支持`readLine()`方法,但通过结合`InputStreamReader`和`BufferedReader`,我们可以方便地实现字节流数据的逐行读取。在处理文本文件时,正确选择字符编码并确保资源的有效管理是...
Java文件流知识点梳理总结,IO文件流,包含了File类、缓冲流、字节流、字符流、转换流等
根据不同的数据类型和操作方式,I/O流分为多个类别,主要包括数据流、对象流、字节流和字符流。 1. **数据流**: 数据流主要指的是InputStream和OutputStream这两类基本流。InputStream是所有读取数据的流的基类,...
### 字节流实现从文件以字节读取信息 在计算机科学中,处理文件时,经常需要将文件读取到内存中进行操作。对于文本文件,我们通常使用字符流(如`Reader`和`Writer`);而对于二进制文件(如图片、音频等),则需要...
本资料“javaIO字节流读取文件方式总结共4页.pdf”详细介绍了Java字节流在读取文件时的各种方法和应用场景。本文将深入探讨这些知识点。 首先,Java中的字节流分为输入流(InputStream)和输出流(OutputStream)。...
总结起来,Java中的字节流和字符流主要用于数据的输入和输出。字节流适合处理任何类型的二进制数据,如图片、音频等;而字符流主要处理字符编码的数据,如文本文件。在实际编程中,根据数据类型选择合适的流类型,并...
总结一下,字节流在Java中用于处理二进制文件的读写,通过`FileInputStream`和`FileOutputStream`实现。确保在操作完成后正确关闭文件流是避免资源泄露的关键。使用`try-with-resources`可以简化代码并确保资源的...
2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、...代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。
Java中的字节流文件读取教程(一) 本篇文章主要介绍了Java中字节流文件读取的相关知识,通过示例代码详细介绍了字节流文件读取的原理和使用场景。下面是相关知识点的总结: 1. Java中的IO流设计 Java的IO流设计...
总结一下,Java中的面向字节流包括: 1. 文件输入输出流(FileInputStream 和 FileOutputStream):处理本地文件的顺序读写。 2. FileDescriptor:提供与系统输入/输出设备交互的途径。 3. 过滤流:如DataInputStream...
总结来说,字节流、字符流、对象流和序列化是Java I/O系统的基础,它们在处理数据输入输出、对象存储和网络通信中扮演了关键角色。理解这些概念并熟练运用,能帮助开发者编写高效、可靠的程序。在实际编程中,结合...
- Java中的字节流主要由两个基类构成:`java.io.OutputStream`和`java.io.InputStream`。其中,`OutputStream`是所有字节输出流的父类,提供了基本的字节写入方法。 - 字节流主要用于处理二进制数据,如图片、音频...
总结来说,这个Java Socket字节流传输示例展示了如何创建一个简单的服务器,监听客户端的连接,接收并处理客户端发送的字节数据。通过使用字节流,我们可以处理任何类型的数据,无论是文本、图像还是其他二进制数据...
字节流包括输入字节流(InputStream)和输出字节流(OutputStream)。例如,FileInputStream和FileOutputStream分别用于读取和写入文件的字节数据。字符流包括Reader和Writer,如FileReader和FileWriter,它们专门...
Java IO流总结 Java IO流是Java语言中最基本和最重要的输入/输出机制,负责将数据从外部世界输入到Java应用程序中或将数据从Java应用程序输出到外部世界。IO流可以分为两大类:字节流和字符流。 1. 节点流:离数据...
IO流学习第二周的考核总结,避免再次入坑,留下记录