Connection.java的源码是什么
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"Connection.java的源码是什么",在日常操作中,相信很多人在Connection.java的源码是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2025年12月02日Connection.java的源码是什么
这篇文章主要介绍"Connection.java的源码是什么",在日常操作中,相信很多人在Connection.java的源码是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Connection.java的源码是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
package redis.clients.jedis;import redis.clients.util.RedisInputStream;import redis.clients.util.RedisOutputStream;import java.io.*;import java.net.Socket;import java.net.SocketException;import java.net.UnknownHostException;import java.util.ArrayList;import java.util.List;public class Connection { private String host;//ip private int port = Protocol.DEFAULT_PORT;//端口 private Socket socket;//socket句柄 private Protocol protocol = new Protocol();//具体操作对象 private RedisOutputStream outputStream;//socket的输出流 private RedisInputStream inputStream;//socket的输入流 private int pipelinedCommands = 0;//管道命令计数器 private int timeout = 2000;//socket超时时间 public int getTimeout() {//获取socket超时时间 return timeout; } public void setTimeout(int timeout) {//设置socket超时时间 this.timeout = timeout; } public void setTimeoutInfinite() {//设置无穷大超时时间 try { socket.setSoTimeout(0); } catch (SocketException ex) { throw new JedisException(ex); } } public void rollbackTimeout() {//回滚超时时间设置 try { socket.setSoTimeout(timeout); } catch (SocketException ex) { throw new JedisException(ex); } } public Connection(String host) {//够早一个connection super(); this.host = host; } protected Connection sendCommand(String name, String... args) { try { connect();//连接server } catch (UnknownHostException e) { throw new JedisException("Could not connect to redis-server", e); } catch (IOException e) { throw new JedisException("Could not connect to redis-server", e); } protocol.sendCommand(outputStream, name, args);//发送命令 pipelinedCommands++;//增加计数器 return this; } public Connection(String host, int port) {//构造connection super(); this.host = host; this.port = port; } public String getHost() {//获取IP return host; } public void setHost(String host) {//设置IP this.host = host; } public int getPort() {//获取端口 return port; } public void setPort(int port) {//设置端口 this.port = port; } public Connection() {//构造connection } public void connect() throws UnknownHostException, IOException { if (!isConnected()) {//如果没有连接,才会连接对方并且给本地变量赋值 socket = new Socket(host, port); socket.setSoTimeout(timeout); outputStream = new RedisOutputStream(socket.getOutputStream()); inputStream = new RedisInputStream(socket.getInputStream()); } } public void disconnect() {//断开连接 if (isConnected()) { try { inputStream.close(); outputStream.close();//关闭流 if (!socket.isClosed()) { socket.close(); }//关闭socket. } catch (IOException ex) { throw new JedisException(ex); } } } public boolean isConnected() {//判断是否连接上了 return socket != null && socket.isBound() && !socket.isClosed() && socket.isConnected() && !socket.isInputShutdown() && !socket.isOutputShutdown(); } protected String getStatusCodeReply() {//获取响应 pipelinedCommands--; return (String) protocol.read(inputStream); } public String getBulkReply() {//获取响应 pipelinedCommands--; return (String) protocol.read(inputStream); } public int getIntegerReply() {//获取响应 pipelinedCommands--; return ((Integer) protocol.read(inputStream)).intValue(); } @SuppressWarnings("unchecked") public List getMultiBulkReply() {//获取响应 pipelinedCommands--; return (List) protocol.read(inputStream); } @SuppressWarnings("unchecked") public List 这个函数很有意思。
public boolean isConnected() {//判断是否连接上了 return socket != null && socket.isBound() && !socket.isClosed() && socket.isConnected() && !socket.isInputShutdown() && !socket.isOutputShutdown(); }到此,关于"Connection.java的源码是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
时间
源码
学习
端口
命令
更多
计数器
帮助
实用
接下来
有意思
函数
变量
句柄
对方
对象
文章
方法
无穷大
理论
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
《数据库技术》课程作业
手机麻将游戏软件开发制作
王者荣耀育碧服务器
2050国家网络安全周
数据库增删改查java语句
电商软件开发毕业分配
上海网络安全监管部门
amax服务器代理商
软件开发和哪个比较有关联
大龙网络技术分享
医学生命科学数据库
企业管控软件开发花多少钱
数据库用while语句计算阶乘
浙江大型软件开发成本价
西安最好的网络技术有限公司
北京 软件开发 招聘
自己怎么创建数据库
无锡计算机软件开发团队
云网络技术有哪些
中国油田数据库系统
数据库查询时间范围语句
购票数据库隔离机制
财务管理数据库课程
常用软件开发方法有
178数据库技术提取
女间谍字幕软件开发
河北餐饮软件开发视频
文件夹里的数据库如何清理
计算机专业要学软件开发吗
网络安全班会稿三年级