socket连接问题,4G网不能连接,
第一个 socket服务重启,客户端不能自动连接报错Connection reset
第二个问题,,4G网打开app时发现,无法连接socket,下面是socket主要的代码:
@Override
public void run() {
InetAddress inetAddress = null;
try {
mSocket = new Socket(serverUrl, serverPort);
in = mSocket.getInputStream();
out = mSocket.getOutputStream();
mHeartTime = System.currentTimeMillis();
Log.v(SOCKET_TAG, "client socket create successed");
// 轮询发送消息列表中的数据
while (true) {
if (mMsgQueue.size() > 0) {
// 判断是否要发送心跳包
if (Math.abs(mHeartTime - System.currentTimeMillis()) > HEART_TIME)
sendHeart(new String(mMsgQueue.get(0).getBytes()));
Thread.sleep(SEND_TIME);
}
// 判断client socket 是否连接上Server
if (mSocket.isConnected()) {
Log.v(SOCKET_TAG, "### client socket connected ###");
// 发送数据
if (!mSocket.isOutputShutdown() && !isMsgQueueEmpty()) {
out.write(mMsgQueue.get(0).getBytes());
// // 将发送过的数据移除消息列表
// mMsgQueue.remove(0);
Log.i("socket2222222222", "连接上了!!!");
mHeartTime = System.currentTimeMillis();
}
} else {
// 重建连接
Log.v(SOCKET_TAG, "client socket disconnected");
if (!mSocket.isClosed()) mSocket.close();
// inetAddress = InetAddress.getByName(serverUrl);
mSocket = new Socket(serverUrl, serverPort);
}
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
this.interrupt();
// Log.v(SOCKET_TAG,e.getMessage());
} catch (UnknownHostException e) {
e.printStackTrace();
Log.v(SOCKET_TAG, e.getMessage());
} catch (IOException e) {
e.printStackTrace();
Log.v(SOCKET_TAG, e.getMessage());
} finally {
if (out != null)
try {
out.close();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
if (in != null) {
try {
in.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (mSocket != null) {
try {
mSocket.close();
} catch (IOException e) {
e.printStackTrace();
Log.v(SOCKET_TAG, e.getMessage());
}
}
Log.v(SOCKET_TAG, "client socket close");
}
}
相关推荐
文件夹文件清单一键导出Excel工具
这是一款文件夹文件清单一键导出 Excel 工具,选一个文件夹点一下,整棵目录树就列成一张 Excel 表。自带中文图形界面,双击启动.bat 即用。交付物包含主程序脚本、启动批处理、README 说明文档(md、html、pdf 三种版本)、示例目录和界面截图,解压即用。 功能上覆盖目录盘点的完整流程:选一个文件夹递归扫描所有子目录,文件按相对路径列进 Excel;每行带相对路径、文件名、类型、大小、创建时间和修改时间六项信息;末尾自动合计文件总数和总大小;可按扩展名过滤只保留指定类型的文件,可限制递归深度只扫顶层或指定层数。 几个实用细节:只读文件元数据不动你的原始文件,输出进独立目录同名自动加序号不覆盖;自动跳过隐藏文件和常见缓存目录如 git、node_modules;按钮运行时变灰防重复点击;同时保留命令行模式,脚本党也能直接用。 适合做交接盘点、资料报审、目录整理的行政、IT 和办公族,不用写代码。使用时双击启动.bat,选好要盘点的文件夹,按需填扩展名过滤和递归深度,点导出 Excel 清单,几秒钟后结果就在旁边的输出文件夹里,打开就能直接使用查看。第一次用建议先拿自带的示例目录跑一遍熟悉流程,再扫自己的正式文件夹。
政府科技管理者在推动科技成果转化时,如何解决技术供需匹配低效的问题?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
科技中介服务机构如何提升技术需求挖掘与服务推荐能力?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
Python3 json序列化常见报错
json只能序列化字符串、数字、列表、字典、布尔、空值。无法序列化datetime、bytes、自定义类对象,直接dumps会抛出类型错误。解决方案:自定义序列化函数,通过default参数传入,手动转换特殊对象。中文乱码:默认ensure_ascii=True会转义中文,改为False直接输出原生中文。反序列化loads注意:json字符串要求双引号,Python字典单引号字符串无法解析,需要提前替换引号。 bfqcjn.com bg-wifi.cn bjqhjy.com bjqhfs.com bddongao.cn
科技成果转化项目进场交易前,评估备案环节需要准备哪些材料?_1.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。


