最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java聊天室之解決連接超時(shí)問(wèn)題

 更新時(shí)間:2022年10月18日 14:09:30   作者:小虛竹and掘金  
這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之解決連接超時(shí)問(wèn)題的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下

一、題目描述

題目實(shí)現(xiàn):在進(jìn)行網(wǎng)絡(luò)編程時(shí),由于進(jìn)行網(wǎng)絡(luò)連接是比較消耗資源的,因此,可以對(duì)連接的等待時(shí)間進(jìn)行設(shè)置,如果在規(guī)定的時(shí)間沒(méi)有進(jìn)行連接,則進(jìn)行其他的處理。運(yùn)行程序,等待10秒鐘后,將彈出消息框提示連接超時(shí)。

二、解題思路

創(chuàng)建一個(gè)類:ConnectionTimeoutSetFrame,繼承JFrame類

寫一個(gè)getserver()方法,創(chuàng)建服務(wù)ServerSocket和設(shè)置等待超時(shí)時(shí)間。

原理是通過(guò)ServerSocket的實(shí)例對(duì)象,調(diào)用setSoTimeout()設(shè)置超時(shí)時(shí)間。

三、代碼詳解

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>
 * 修改記錄:
 * 修改后版本	        修改人		修改日期			修改內(nèi)容
 * 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對(duì)象
    public void getserver() {
        try {
            server = new ServerSocket(9527); // 實(shí)例化Socket對(duì)象
            server.setSoTimeout(10000);// 設(shè)置連接超時(shí)時(shí)間為10秒
            ta_info.append("服務(wù)器套接字已經(jīng)創(chuàng)建成功\n"); // 輸出信息
            while (true) { // 如果套接字是連接狀態(tài)
                ta_info.append("等待客戶機(jī)的連接......\n"); // 輸出信息
                server.accept();// 等待客戶機(jī)連接
            }
        } catch (SocketTimeoutException e) {
            ta_info.append("連接超時(shí)......");
            JOptionPane.showMessageDialog(null, "連接超時(shí)......");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) { // 主方法
        ConnectionTimeoutSetFrame frame = new ConnectionTimeoutSetFrame(); // 創(chuàng)建本類對(duì)象
        frame.setVisible(true);
        frame.getserver(); // 調(diào)用方法
    }
    public ConnectionTimeoutSetFrame() {
        super();
        setTitle("設(shè)置等待連接的超時(shí)時(shí)間");
        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秒后,會(huì)提示連接超時(shí)。

到此這篇關(guān)于Java聊天室之解決連接超時(shí)問(wèn)題的文章就介紹到這了,更多相關(guān)Java聊天室內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

太和县| 灵寿县| 额济纳旗| 齐河县| 新乡县| 东乡族自治县| 浮梁县| 东海县| 任丘市| 新平| 枣庄市| 陆丰市| 房山区| 明光市| 衡阳市| 浦北县| 峨眉山市| 蒙自县| 兴宁市| 永清县| 孝义市| 汉沽区| 灵寿县| 治多县| 时尚| 卓资县| 泽普县| 从江县| 沙坪坝区| 湾仔区| 泸定县| 双牌县| 图们市| 大厂| 宜黄县| 鸡泽县| 岳阳县| 张家川| 崇仁县| 临潭县| 安义县|