UDP端口启动后一段时间无法接收到数据
接口需求:开发一个UDP协议的接口作为服务端接收来自客户端的认证数据,数据量每分钟7w+条;
数据格式:标准的redius协议,redius协议的相关知识在网上查资料,提供线索:http://blog.sina.com.cn/s/blog_5fc93bc00102w9dr.html
问题:接口在启动一段时间过后收不到数据,程序出现假死现象,检查发现日志没有抛任何异常、进程也任然存在,添加各种日志调试程序,经过测试发现是数据处理速度上的问题,导致主机资源不够,添加线程后解决问题。
#修改代码如下:
private void init(int port) {
try {
// 获取本机上的网络接口对象
DatagramSocket ds = new DatagramSocket(port);
System.out.println("等待客户端数据……"); Map<String, String> dataMap ;
DatagramPacket dp;
while (true) {
try {
byte[] buf = new byte[256];
dp = new DatagramPacket(buf, buf.length);//重置内部长度
ds.receive(dp);// 阻塞式的
byte[] data = Arrays.copyOfRange(dp.getData(), 0,dp.getData().length);
new ServerThread(data);//启用线程处理接收到的数据
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception ef) {
ef.printStackTrace();
}
}
class ServerThread extends Thread {
private byte[] data;
public ServerThread(byte[] data) {
this.data = data;
start();
} public void run() {
try {
radius.radiusType(data);//redius报文解析
} catch (Exception e) {
e.printStackTrace();
}
}
}
UDP端口启动后一段时间无法接收到数据的更多相关文章
- ECSHOP后台登陆后一段时间不操作就超时的解决方法
ECSHOP后台登陆后一段时间不操作就超时的解决方法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2012-05-27 客户生意比较好,因此比较忙,常常不在电脑前 ...
- [转]kafka要等一段时间才能消费到数据
kafka要等一段时间才能消费到数据 pythonkafka 为什么用python写的kafka客户端脚本,程序一运行就能生产数据,而要等一段时间才能消费到数据(topic里面有数据).(pyk ...
- 代码实现程序启动后, 可以从键盘输入接收多个整数, 直到输入quit时结束输入. 把所有输入的整数倒序排列打印
package com.loaderman.test; import java.util.Comparator; import java.util.Scanner; import java.util. ...
- oralce11g RAC 启动后 CRS-0184: Cannot communicate with the CRS daemon.
很奇怪的一个问题! ORACLE数据库服务器,系统启动之后,查看集群状态,发现CRS实例不可用,然后网上查找资料: 隔了几分钟之后,再次查询相关集群服务状态,发现正常了!!! 暂时得出的结论:操作系统 ...
- svn checkout 提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”解决方法
安装好之后再windows上checkout项目,一直出错:“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”:在尝试了很多次之后找到了最后的问题所在. 在网上找的方法试过了, ...
- CENTOS 配置好SVN服务环境后,其他服务器无法访问 Error: Can't connect to host '192.168.1.103': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
CENTOS 配置好SVN服务环境后,其他服务器无法访问 根据 下面的步骤配置好服务后,使用本机可以正常 连接到 SVN 服务, 但是使用局域网的其他服务器访问时出现下面的错误, Error: C ...
- WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)
WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转) Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信 ...
- svn :Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败. -------------------------------- ...
- Scrapy,终端startproject,显示错误TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
F:\python_project\test>scrapy startproject spz Traceback (most recent call last): File "d:\p ...
随机推荐
- easyui datebox 精确到秒并且显示值
其实这个官网文档有的,也就不啰嗦了,直接贴官网的代码吧. <input id="dt" type="text" name="birthday&q ...
- Homebrew 的使用
安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/ins ...
- JavaScript彻底搞懂apply和call方法
彻底搞懂JavaScript中的apply和call方法 call和apply都是为了改变某个函数运行的context上下文而存在的,即为了改变函数体内部this的指向.因为JavaScript的函数 ...
- css控制文本单行或者多行溢出显示为省略号...
p:first-child { background-color: pink; width: 150px; line-height: 28px; font-size: 20px; overflow: ...
- js匿名函数使用&传参
function () { alert("error"); } //报错:匿名函数不能直接调用 使用 0x01 (function () { alert("Success ...
- java调用c#dll文件配置
1 在强大的c#语言和java语言之间,二者难免会因为某些特殊的要求会相互调用. 下面就以java调用c#的dll为例做详细介绍 1 在vs中的环境设置如下图,图片中程序仅作为讲解程序,在项目编译成 ...
- Android照片库选择图片裁剪闪退(兼容小米以及7.0以上机型)
未经允许,禁止
- collectd配置
udp proxy - 192.168.48.112 cat > /etc/collectd_25801.conf << EOF Hostname "kvm-48-112& ...
- Nginx AWS ELB 域名解析后端502问题
转载:http://liyangliang.me/posts/2016/04/nginx-aws-elb-name-resolution/
- 再学UML-Bug管理系统UML2.0建模实例(一)
1.项目概述 随着软件项目规模和复杂性的增大,有效跟踪和管理项目中存在的缺陷Bug变得越来越重要.每一个软件企业都需要妥善处理软件中的缺陷,这将直接关系到软件过程质量与软件产品质量,但并非 ...