导航:首页 > 编程语言 > javasocket重连

javasocket重连

发布时间:2024-12-12 04:21:42

1. java socket如果服务端掉线 客户端应该怎样重连,实现的思路是怎么样的,最好能有具体的代码参考一下

看代码,不明白的追问

// 无穷循环,用于自动重新连接网关
while (true) {
// 捕获sleep异常
try {
// 捕获socket异常
try {
// 创建socket连接
socketGateway = new Socket("127.0.0.1", 8888);

// 创建输入输出对象
inStream = new DataInputStream(socketGateway.getInputStream());
outStream = new DataOutputStream(socketGateway.getOutputStream());

byte buf[] = new byte[1]; // 数据缓冲区
int intLen; // 读缓冲区返回的长度

// 无穷循环,用于读缓冲区数据
while (true) {
// 捕获读缓冲区异常
try {
intLen = inStream.read(buf, 0, 1);

// 可读长度-1则断开连接
if (intLen == -1) {
break;
}

// 处理buf
}

// 连接断开
catch (EOFException e) {
break;
}

// 接收数据超时
catch (SocketTimeoutException e) {
break;
}

// 超过数据包末尾
catch (IOException e) {
break;
}
}
} catch (Exception e) {
// 处理socket错误
}

// 休眠1秒后重连
sleep(1000);
} catch (Exception e) {
// 处理sleep错误
}
}

2. 关于JAVA中线程启动SOCKET中的异常处理问题,望各位提出宝贵建议

加try catch 捕获那个异常,延时再检查网络后再重连

Ping
//using System.Net;
NetworkInformation.Ping p = new NetworkInformation.Ping();
NetworkInformation.PingOptions options = new NetworkInformation.PingOptions();
options.DontFragment = true;
string data = "";
byte[] buffer = Encoding.ASCII.GetBytes(data);
//Wait seconds for a reply.
int timeout = 4000
NetworkInformation.PingReply reply = p.Send(%%1, timeout, buffer, options);
%%2=reply.Status;

阅读全文

与javasocket重连相关的资料

热点内容
外贸建站云服务器哪家好 浏览:396
服务器如何使用uefi引导 浏览:547
网站建设论文php 浏览:68
软件编译仿真 浏览:433
购买软件能加密吗 浏览:3
发泡pdf 浏览:59
服务器双网卡绑定交换机如何配置 浏览:444
java静态方法的重写 浏览:938
哪里有超全的漫画app 浏览:924
基于单片机的全自动洗衣机控制系统 浏览:462
单片机点阵视频教程 浏览:982
压缩面膜怎么选择 浏览:807
基于命令的标准acl配置实例 浏览:76
第一现场车机怎么下载其他app 浏览:906
中兴路由3s命令 浏览:82
为什么显示加密模块未打开 浏览:143
DES指的是对称加密技术 浏览:264
开封哪里有短视频app平台 浏览:827
iphone缓存app里的电影在哪里 浏览:976
纯色文件夹怎么创建 浏览:1