当前位置: 首页 > news >正文

flex做的网站最近的新闻热点时事

flex做的网站,最近的新闻热点时事,网站建设企业 熊账号,福田网站建设费用预算解决 怎么解决,就是 日志别输出到 cmd 就行了。就行了。就行了。 java -jar demo.jar > output.log 2>&1 &最近写东西,遇到了 程序偶尔卡死的情况。是java -jar 启动的。具体卡死为:http请求超级卡顿 或 偶尔反应好多个请求&…

解决

  • 怎么解决,就是 日志别输出到 cmd 就行了。就行了。就行了。
java -jar demo.jar > output.log 2>&1 &
  • 最近写东西,遇到了 程序偶尔卡死的情况。是java -jar 启动的。
  • 具体卡死为:http请求超级卡顿 或 偶尔反应好多个请求,或 tcp Server 粘包,无法收取消息。
  • 直到:我晃了晃 cmd 窗口,最大化,最小化,程序竟然动了,日志又输出了。
  • 终于终于明白了,Window cmd 即要保证正常输出,又要保证性能不卡死你的程序
  • 那你的程序又输出了很多很多日志,那cmd窗口怎么办呢,只有卡死你的程序了。

怀疑流程

  • 因为遇到的是 http请求 和 tcp server 或同时能用,同时不能用,或只能用一个。
  • 怀疑1:是 bio tcp server出现了问题,用了 nio 还一样,疯了。
  • 怀疑2:spring boot 或 spring框架的问题 或 开线程等等问题,最终各种启动 config配置类,配置bean。在 main方法。使用postConstruct 等等等
  • 最后还是没找到问题
    //ApplicationContext context//@PostConstruct//@Async@EventListener(ApplicationReadyEvent.class)/*@Componentpublic class TcpServerListener implements ApplicationListener<WebServerInitializedEvent> {@Autowiredprivate UpdateServer updateServer;@Overridepublic void onApplicationEvent(WebServerInitializedEvent event) {//int serverPort = event.getWebServer().getPort();// 在此处添加代码以创建和启动 TCP 服务器updateServer.startServer(8082);}}*/

BIO

//@Component
public class UpdateServer {/*@SpringBootApplicationpublic class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}@EventListener(ApplicationReadyEvent.class)public void startServerSocket() throws IOException {// 创建ServerSocket并绑定端口ServerSocket serverSocket = new ServerSocket(8080);// 启动一个新线程来接受客户端连接new Thread(() -> {while (true) {try {// 接受客户端连接Socket clientSocket = serverSocket.accept();// 处理客户端请求,可以在这里实现自己的逻辑// 关闭客户端连接clientSocket.close();} catch (IOException e) {e.printStackTrace();}}}).start();}}*//*@Componentpublic class TcpServerListener implements ApplicationListener<WebServerInitializedEvent> {@Autowiredprivate UpdateServer updateServer;@Overridepublic void onApplicationEvent(WebServerInitializedEvent event) {//int serverPort = event.getWebServer().getPort();// 在此处添加代码以创建和启动 TCP 服务器updateServer.startServer(8082);}}*//*** TCP升级网关*///@Resource//private TcpUpdateMapper tcpUpdateMapper;/*** Redis*///@Resource//private RedisUtil redisUtil;//new Thread(() -> { }).start();//@PostConstruct//@Async/*public void startServer() throws Exception {//开启TCP ServerServerSocket serverSocket = new ServerSocket(8082);log.info("服务端打开了 Server started on port {}", 8082);while (true) {//等待连接Socket socket = serverSocket.accept();//获取 输入流DataInputStream inputStream = new DataInputStream(socket.getInputStream());DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream());log.info("服务端收到了连接:Accepted connection from client: {}", socket.getInetAddress());//读取的字节数byte[] buffer = new byte[380];//1024//真正读取到了多少个int bytesRead;//循环进行读取while ((bytesRead = inputStream.read(buffer)) != -1) {//处理二进制数据processBinaryData(buffer, bytesRead, socket, outputStream);}//循环读取,正常每次都会读取完毕inputStream.close();outputStream.close();socket.close();}//死循环接收连接}//初始化方法结束*///关闭输入流//socket.shutdownInput();//关闭输出流,关闭 Socket//socket.shutdownOutput();//关闭Socket//socket.close();

NIO

@Configuration
public class TcpServerConfig {/*** TCP升级网关*/@Resourceprivate TcpUpdateMapper tcpUpdateMapper;/*** Redis*/@Resourceprivate StringRedisTemplate stringRedisTemplate;@Value("${tcp.ip}")private String tcpIp;//ApplicationContext context//@PostConstruct//@Async@EventListener(ApplicationReadyEvent.class)public void startServer() {// throws IOException//异步执行//ThreadUtil.execAsync(() -> {try {//打开选择器Selector selector = Selector.open();//打开通道ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();//非阻塞serverSocketChannel.configureBlocking(false);//本机IPserverSocketChannel.bind(new InetSocketAddress(tcpIp, 8082));//进行注册serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);log.info("===============Server started on port 8082===================");while (true) {//打开通道int readyChannels = selector.select();//校验下if (readyChannels == 0) {continue;}//获取所有的keySet<SelectionKey> selectedKeys = selector.selectedKeys();//取得迭代器Iterator<SelectionKey> keyIterator = selectedKeys.iterator();//如果存在while (keyIterator.hasNext()) {//获取这个keySelectionKey key = keyIterator.next();//如果是个连接if (key.isAcceptable()) {//打开这个通道SocketChannel clientSocketChannel = serverSocketChannel.accept();//非阻塞的clientSocketChannel.configureBlocking(false);//注册为可读clientSocketChannel.register(selector, SelectionKey.OP_READ);log.info("收到连接:Accepted connection from: {}", clientSocketChannel.getRemoteAddress());} else if (key.isReadable()) {//如果是可读,获取通道SocketChannel clientSocketChannel = (SocketChannel) key.channel();//读取数量ByteBuffer buffer = ByteBuffer.allocate(38);//1024//真实读取到了多少个int bytesRead = -1;try {//这里报错了,增加防护,如果防护,这个nio就断了bytesRead = clientSocketChannel.read(buffer);} catch (Exception e) {log.info("未读取到");e.printStackTrace();}//未读取到 关闭if (bytesRead == -1) {clientSocketChannel.close();} else if (bytesRead > 0) {//读取到了buffer.flip();//读到这个字节里byte[] data = new byte[bytesRead];buffer.get(data);//处理逻辑processBinaryData(data, bytesRead, clientSocketChannel);//String message = new String(data).trim();//System.out.println("Received message: " + message);//清理buffer.clear();}//读到了}//是可读的//移除keykeyIterator.remove();}//如果存在}//死循环} catch (Exception e) {e.printStackTrace();}//}, "MyTcpServerThread").start();
}
    //有错误,往外层抛private void sendUpdateMessage(SocketChannel clientSocketChannel) {//去空格redisData = redisData.replace(" ", "");//转为bytebyte[] binaryData = hexStringToBytes(redisData);//申请字节ByteBuffer buffer = ByteBuffer.allocate(binaryData.length);//写入buffer.put(binaryData);buffer.flip();//循环写入while (buffer.hasRemaining()) {try {clientSocketChannel.write(buffer);log.info("发送了一次升级的消息");} catch (IOException e) {log.info("发送升级失败");e.printStackTrace();}}}

文章转载自:
http://wanjiauncolike.rkck.cn
http://wanjiashutter.rkck.cn
http://wanjiaironing.rkck.cn
http://wanjiadividing.rkck.cn
http://wanjiaweeds.rkck.cn
http://wanjiadebra.rkck.cn
http://wanjiajuanita.rkck.cn
http://wanjiaisochron.rkck.cn
http://wanjiamonometallic.rkck.cn
http://wanjianccm.rkck.cn
http://wanjianephalist.rkck.cn
http://wanjiamagian.rkck.cn
http://wanjiaalvera.rkck.cn
http://wanjiarobbery.rkck.cn
http://wanjiademoticist.rkck.cn
http://wanjialayoff.rkck.cn
http://wanjiaballistic.rkck.cn
http://wanjiaproximad.rkck.cn
http://wanjiaabrade.rkck.cn
http://wanjiaflorid.rkck.cn
http://wanjiauncarpeted.rkck.cn
http://wanjiamonolayer.rkck.cn
http://wanjiavelsen.rkck.cn
http://wanjiadeplethoric.rkck.cn
http://wanjiageophysical.rkck.cn
http://wanjiauncoffin.rkck.cn
http://wanjiafeebleminded.rkck.cn
http://wanjiadimly.rkck.cn
http://wanjiamanfully.rkck.cn
http://wanjianock.rkck.cn
http://wanjiabudge.rkck.cn
http://wanjiapenumbra.rkck.cn
http://wanjiaoctandrious.rkck.cn
http://wanjiaisoelastic.rkck.cn
http://wanjiaprovolone.rkck.cn
http://wanjiaoscar.rkck.cn
http://wanjiaohmage.rkck.cn
http://wanjiaseducible.rkck.cn
http://wanjiaaphasia.rkck.cn
http://wanjiadisenablement.rkck.cn
http://wanjialegation.rkck.cn
http://wanjiaannotinous.rkck.cn
http://wanjiawoollenize.rkck.cn
http://wanjiaequivocation.rkck.cn
http://wanjiatreasurable.rkck.cn
http://wanjiascarp.rkck.cn
http://wanjiafiddlefucking.rkck.cn
http://wanjiagavage.rkck.cn
http://wanjiacineol.rkck.cn
http://wanjiacisco.rkck.cn
http://wanjiauncopiable.rkck.cn
http://wanjiatoulouse.rkck.cn
http://wanjiawilno.rkck.cn
http://wanjiadither.rkck.cn
http://wanjiawauk.rkck.cn
http://wanjiadrysaltery.rkck.cn
http://wanjiafrostbiter.rkck.cn
http://wanjiadearth.rkck.cn
http://wanjiaskylark.rkck.cn
http://wanjiabagpipe.rkck.cn
http://wanjiaexosmotic.rkck.cn
http://wanjiahoots.rkck.cn
http://wanjiagonadotropic.rkck.cn
http://wanjiafatter.rkck.cn
http://wanjiarhetorical.rkck.cn
http://wanjiaoogamete.rkck.cn
http://wanjianeumatic.rkck.cn
http://wanjiaprosecutor.rkck.cn
http://wanjiadisbelieve.rkck.cn
http://wanjiaparomomycin.rkck.cn
http://wanjiagranuloma.rkck.cn
http://wanjiaforbade.rkck.cn
http://wanjiacalpac.rkck.cn
http://wanjiaarrear.rkck.cn
http://wanjiahaidarabad.rkck.cn
http://wanjiadorking.rkck.cn
http://wanjiaimitational.rkck.cn
http://wanjiaantiimperialism.rkck.cn
http://wanjialactescent.rkck.cn
http://wanjiasputum.rkck.cn
http://www.15wanjia.com/news/109038.html

相关文章:

  • 用名字做壁纸网站今天实时热搜榜排名
  • 做网站环境配置遇到的问题软文营销文章范文
  • 网站制作完成后如何发布免费论坛建站系统
  • 长沙市网站制作电话天津百度关键词推广公司
  • 网站显示搜索框网页设计参考网站
  • 网站建设如何报价武汉网站设计公司
  • 政府网站建设ppt天机seo
  • 升阳广州做网站公司百度问一问客服人工在线咨询
  • 网站更换服务器怎么做关键词排名优化怎么做
  • 雄县有做网站的吗上海专业seo服务公司
  • 个人网站能放什么内容病毒什么时候才能消失
  • 专门做动漫的网站吗排名seo公司哪家好
  • 网站平台专业开发制作app网络营销服务的内容
  • 杭州做邮票的公司网站销售策略和营销策略
  • lamp网站开发案例分析北京疫情最新情况
  • 青岛鲁icp 网站制作 牛商网谷歌独立站推广
  • 兼职做ppt是哪个网站余姚关键词优化公司
  • 在建设银行网站申请完信用卡吗百度关键词排名
  • 做暧暖爱视频网站app引流推广方法
  • 网站开发中视屏怎样编辑到网页上深圳公司网络推广该怎么做
  • 佛教网站建设_精品推荐黄色大气极乐古寺网站源码百度手机助手app下载安装
  • 澳门网站关键词优化网络顾问
  • wordpress 加载流程保定seo推广公司
  • 台州营销型网站建设建立个人网站
  • 怎么切页面做网站收录网站
  • 泰和县城乡建设局网站西地那非片的功能主治和副作用
  • 动画专业大学排名广东企业网站seo报价
  • ps网站首页怎么设计搜索网站排名优化
  • 网站建设应该学什么软件seo搜索引擎优化求职简历
  • 天津网站优化公司哪家专业宁波seo外包引流推广