亲宝软件园·资讯

展开

Java聊天室

小虚竹and掘金 人气:0

一、题目描述

题目实现:运行客户端,连接服务器。

二、解题思路

首先需要启动上题的ServerSocketFrame服务,这样客户端运行时,才能连接上服务器。

创建一个类:ClientSocketFrame,继承JFrame

通过Socket类创建到指定服务器和端口的套接字对象。

实例化Socket对象

 socket = new Socket("127.0.0.1", 9527); // 127.0.0.1 代表的是本地IP

三、代码详解

ClientSocketFrame

package com.xiaoxuzhu;
import java.awt.BorderLayout;
import java.net.*;
import javax.swing.*;
import javax.swing.JScrollPane;

/**
 * Description: 
 *
 * @author xiaoxuzhu
 * @version 1.0
 *
 * <pre>
 * 修改记录:
 * 修改后版本	        修改人		修改日期			修改内容
 * 2022/5/29.1	    xiaoxuzhu		2022/5/29		    Create
 * </pre>
 * @date 2022/5/29
 */

public class ClientSocketFrame extends JFrame { // 创建类继承JFrame类
    private Socket socket; // 声明Socket对象
    private JTextArea ta_info = new JTextArea(); // 创建JtextArea对象

    public ClientSocketFrame() { // 构造方法
        super(); // 调用父类的构造方法
        setTitle("建立客户端套接字");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 254, 166);
        final JScrollPane scrollPane = new JScrollPane();
        getContentPane().add(scrollPane, BorderLayout.CENTER);
        scrollPane.setViewportView(ta_info);
    }

    private void connect() { // 连接套接字方法
        ta_info.append("尝试连接......\n"); // 文本域中信息信息
        try { // 捕捉异常
            socket = new Socket("127.0.0.1", 9527); // 实例化Socket对象
            ta_info.append("完成连接。\n"); // 文本域中提示信息
        } catch (Exception e) {
            e.printStackTrace(); // 输出异常信息
        }
    }

    public static void main(String[] args) { // 主方法
        ClientSocketFrame clien = new ClientSocketFrame(); // 创建本例对象
        clien.setVisible(true); // 将窗体显示
        clien.connect(); // 调用连接方法
    }
}

服务端等待连接

启动客户端

查看服务端的状态显示

加载全部内容

相关教程
猜你喜欢
用户评论