PGStream类
包装器环绕到服务器的原始连接,实现一些基本的原语(读取/写入格式化的数据,进行字符串编码,等等)。
一般来说,PGStream的实例不是线程安全的;调用者必须确保一次只有一个线程在访问特定的PGStream实例。
changeSocket
功能描述
将这个流切换到使用一个新的套接字。任何现有的套接字都不是关闭的;假设我们正在更改一个委托给原始套接字(例如SSL)的新套接字。
语法格式
public void changeSocket(Socket socket)
throws IOException
参数说明
参数名 | 参数说明 |
---|---|
socket | 要更改的新套接字 |
socket:要更改的新套接字。
返回值
无。
close
语法格式
public void close() throws IOException
说明
定义:Closeable接口的close方法。
flush
语法格式
public void flush()
throws IOException
说明
定义:Flushable接口的flush方法。
getConnectInfo
功能描述
这个函数将返回包含服务器端套接字地址和客户端套接字地址的字符串。
语法格式
public String getConnectInfo()
参数说明
无。
返回值
包含服务器端套接字地址和客户端套接字地址的字符串。
getEncoding
功能描述
获取编码。
语法格式
public Encoding getEncoding()
参数说明
无。
返回值
编码。
getEncodingWriter
功能描述
获取一个直接在底层流上编码的Writer实例。返回的Writer不应该被关闭,因为它是一个共享对象。在使用Writer和使用PGStream写方法之间切换时,需要调用Writer.flush,但它实际上不会一直刷新输出——调用flush()来确保所有输出都被推送到服务器。
语法格式
public Writer getEncodingWriter() throws IOException
参数说明
无。
返回值
共享写入器实例。
getHostSpec
功能描述
获取主机规格。
语法格式
public HostSpec getHostSpec()
参数说明
无。
返回值
主机规格。
getInputBufferByHex
功能描述
此函数仅在发生I/O错误时创建转储文件。
语法格式
public String getInputBufferByHex()
参数说明
无。
返回值
创建的转储文件。
getNetworkTimeout
功能描述
获取网络超时时间。
语法格式
public int getNetworkTimeout()
throws IOException
参数说明
无。
返回值
网络超时时间。
getSocket
功能描述
获取Socket监听。
语法格式
public Socket getSocket()
参数说明
无。
返回值
Socket监听。
getSocketFactory
功能描述
获取SocketFactory对象。
语法格式
public SocketFactory getSocketFactory()
参数说明
无。
返回值
SocketFactory对象。
getSocketStatus
功能描述
这个函数用于在I/O错误发生时返回socket状态。
语法格式
public String getSocketStatus()
参数说明
无。
返回值
socket状态。
hasMessagePending
功能描述
判断是否有消息挂起。
语法格式
public boolean hasMessagePending()
throws IOException
参数说明
无。
返回值
若有消息挂起,则返回true。
peekChar
功能描述
从后端接收单个字符,不提升当前协议流位置。
语法格式
public int peekChar()
throws IOException
参数说明
无。
返回值
接收到的字符。
receive(byte[] buf, int off, int siz)
功能描述
从后端读取给定数量的字节。
语法格式
public void receive(byte[] buf,
int off,
int siz)
throws IOException
参数说明
buf:用于存储结果的缓冲区。
off:缓冲区中的偏移量。
siz:要读取的字节数。
返回值
无。
receive(int siz)
功能描述
从后端读取给定数量的字节。
语法格式
public byte[] receive(int siz)
throws IOException
参数说明
siz:要读取的字节数。
返回值
接收的字节数组。
receiveChar
功能描述
从后端接收单个字符。
语法格式
public int receiveChar()
throws IOException
参数说明
无。
返回值
收到的字符。
receiveEOF
功能描述
从后端使用预期的EOF。
语法格式
public void receiveEOF()
throws SQLException,
IOException
参数说明
无。
返回值
无。
receiveErrorString
功能描述
从后端接收固定大小的字符串,并试图避免“UTF-8解码失败”错误。
语法格式
public EncodingPredictor.DecodeResult receiveErrorString(int len)
throws IOException
参数说明
len: 要接收的字符串的长度,以字节为单位。
返回值
解码字符串。
receiveInteger2
功能描述
从后端接收两字节整数。
语法格式
public int receiveInteger2()
throws IOException
参数说明
无。
返回值
从后端接收的整数。
receiveInteger4
功能描述
从后端接收4字节整数。
语法格式
public int receiveInteger4()
throws IOException
参数说明
无。
返回值
从后端接收的整数。
receiveString()
功能描述
从后端接收以空字符结束的字符串。如果我们没有看到空值,那么我们就假设出了问题。
语法格式
public String receiveString()
throws IOException
参数说明
无。
返回值
后端字符串。
receiveString(int len)
功能描述
从后端接收固定大小的字符串。
语法格式
public String receiveString(int len)
throws IOException
参数说明
len:要接收的字符串的长度,以字节为单位。
返回值
后端字符串。
receiveTupleV3
功能描述
从后端读取元组。元组是由字节组成的二维数组。这个变体读取V3协议的元组表示。
语法格式
public byte[][] receiveTupleV3()
throws IOException,
OutOfMemoryError
参数说明
无。
返回值
后端元组。
send(byte[] buf)
功能描述
发送一个字节数组到后端。
语法格式
public void send(byte[] buf)
throws IOException
参数说明
buf:要发送的字节数组。
返回值
无。
send(byte[] buf, int siz)
功能描述
将固定大小的字节数组发送到后端。如果数组长度
语法格式
public void send(byte[] buf,
int siz)
throws IOException
参数说明
buf:要发送的字节数组。
siz:要发送的字节数组大小。
返回值
无。
send(byte[] buf, int off, int siz)
功能描述
将固定大小的字节数组发送到后端。如果长度
语法格式
public void send(byte[] buf,
int off,
int siz)
throws IOException
参数说明
buf:要发送的字节数组。
off:要从中开始发送的数组中的偏移量。
siz:要发送的字节数组大小。
返回值
无。
sendChar
功能描述
发送一个字符到后端。
语法格式
public void sendChar(int val)
throws IOException
参数说明
val:要发送的字符。
返回值
无。
sendInteger2
功能描述
发送一个2字节整数(短)到后端。
语法格式
public void sendInteger2(int val)
throws IOException
参数说明
val:要发送的字符。
返回值
无。
sendInteger4
功能描述
发送一个4字节整数到后端。
语法格式
public void sendInteger4(int val)
throws IOException
参数说明
val:要发送的字符。
返回值
无。
sendStream
功能描述
将数据从输入流复制到连接。
语法格式
public void sendStream(InputStream inStream,
int remaining)
throws IOException
参数说明
inStream: 要从中读取数据的流。
remaining:要复制的字节数。
返回值
无。
setEncoding
功能描述
更改此连接使用的编码。
语法格式
public void setEncoding(Encoding encoding)
throws IOException
参数说明
encoding:要使用的新编码。
返回值
无。
setNetworkTimeout
功能描述
设置网络超时时间。
语法格式
public void setNetworkTimeout(int milliseconds)
throws IOException
参数说明
参数名 | 参数说明 |
---|---|
milliseconds | 毫秒 |
milliseconds:毫秒。
返回值
无。
skip
功能描述
跳过。
语法格式
public void skip(int size)
throws IOException
参数说明
参数名 | 参数说明 |
---|---|
size | 要跳过的大小 |
size:要跳过的大小。
返回值
无。