Java聊天室之解决连接超时问题

 更新时间:2022年10月18日 14:09:30   作者:小虚竹and掘金  
这篇文章主要为大家详细介绍了Java简易聊天室之解决连接超时问题的方法,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以了解一下

一、题目描述

题目实现:在进行网络编程时,由于进行网络连接是比较消耗资源的,因此,可以对连接的等待时间进行设置,如果在规定的时间没有进行连接,则进行其他的处理。运行程序,等待10秒钟后,将弹出消息框提示连接超时。

二、解题思路

创建一个类:ConnectionTimeoutSetFrame,继承JFrame类

写一个getserver()方法,创建服务ServerSocket和设置等待超时时间。

原理是通过ServerSocket的实例对象,调用setSoTimeout()设置超时时间。

三、代码详解

ConnectionTimeoutSetFrame

package com.xiaoxuzhu;
import java.awt.BorderLayout;
import java.io.*;
import java.net.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
 * Description: 
 *
 * @author xiaoxuzhu
 * @version 1.0
 *
 * <pre>
 * 修改记录:
 * 修改后版本	        修改人		修改日期			修改内容
 * 2022/5/31.1	    xiaoxuzhu		2022/5/31		    Create
 * </pre>
 * @date 2022/5/31
 */
public class ConnectionTimeoutSetFrame extends JFrame {
    private JTextArea ta_info;
    private ServerSocket server; // 声明ServerSocket对象
    public void getserver() {
        try {
            server = new ServerSocket(9527); // 实例化Socket对象
            server.setSoTimeout(10000);// 设置连接超时时间为10秒
            ta_info.append("服务器套接字已经创建成功\n"); // 输出信息
            while (true) { // 如果套接字是连接状态
                ta_info.append("等待客户机的连接......\n"); // 输出信息
                server.accept();// 等待客户机连接
            }
        } catch (SocketTimeoutException e) {
            ta_info.append("连接超时......");
            JOptionPane.showMessageDialog(null, "连接超时......");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) { // 主方法
        ConnectionTimeoutSetFrame frame = new ConnectionTimeoutSetFrame(); // 创建本类对象
        frame.setVisible(true);
        frame.getserver(); // 调用方法
    }
    public ConnectionTimeoutSetFrame() {
        super();
        setTitle("设置等待连接的超时时间");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 336, 257);

        final JScrollPane scrollPane = new JScrollPane();
        getContentPane().add(scrollPane, BorderLayout.CENTER);

        ta_info = new JTextArea();
        scrollPane.setViewportView(ta_info);
    }
}

10秒后,会提示连接超时。

到此这篇关于Java聊天室之解决连接超时问题的文章就介绍到这了,更多相关Java聊天室内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决springboot整合cxf-jaxrs中json转换的问题

    解决springboot整合cxf-jaxrs中json转换的问题

    这篇文章主要介绍了解决springboot整合cxf-jaxrs中json转换的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • java判断一个文件是否为二进制文件的方法

    java判断一个文件是否为二进制文件的方法

    这篇文章主要介绍了java判断一个文件是否为二进制文件的方法,涉及java针对文件的读取及编码判断技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • java.lang.IllegalStateException异常原因和解决办法

    java.lang.IllegalStateException异常原因和解决办法

    这篇文章主要给大家介绍了关于java.lang.IllegalStateException异常原因和解决办法,IllegalStateException是Java标准库中的一个异常类,通常表示在不合适或无效的情况下执行了某个方法或操作,需要的朋友可以参考下
    2023-07-07
  • 基于Idea+Jconsole实现线程监控步骤

    基于Idea+Jconsole实现线程监控步骤

    这篇文章主要介绍了基于Idea+Jconsole实现线程监控功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Mybatis-plus的service通用接口解读

    Mybatis-plus的service通用接口解读

    这篇文章主要介绍了Mybatis-plus的service通用接口解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java Web项目中编写定时任务的实现

    Java Web项目中编写定时任务的实现

    本篇文章主要介绍了Java Web项目中编写定时任务的实现,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • Java 字节数组类型(byte[])与int类型互转方法

    Java 字节数组类型(byte[])与int类型互转方法

    下面小编就为大家带来一篇Java 字节数组类型(byte[])与int类型互转方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Java并发LinkedBlockingQueue源码分析

    Java并发LinkedBlockingQueue源码分析

    这篇文章主要为大家介绍了Java并发LinkedBlockingQueue源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • SpringBoot @ConfigurationProperties注解的简单使用

    SpringBoot @ConfigurationProperties注解的简单使用

    即便现在简化了配置,但是一个独立的配置文件总是易于理解而且使人安心的。Spring在构建完项目后,会默认在resources文件夹下创建一个application.properties文件,application.yml也是一样的效果。@ConfigurationProperties可以获取配置文件中的数据,将其注入类。
    2021-05-05
  • java读取其他服务接口返回的json数据示例代码

    java读取其他服务接口返回的json数据示例代码

    这篇文章主要给大家介绍了关于java读取其他服务接口返回的json数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03

最新评论