Java聊天室
小虚竹and掘金 人气:0一、题目描述
题目实现:运行服务器程序,等待客户端程序连接。
二、解题思路
首先需要在服务器中建立服务器套接字,并等待客户程序的连接。
创建一个类:ServerSocketFrame,继承JFrame
通过ServerSocket类创建绑定到指定端口的服务器套接字对象。然后调用ServerSocket类的accept()方法监听客户端的连接。
实例化Socket对象
server = new ServerSocket(9527); // 可指定端口
三、代码详解
ServerSocketFrame
package com.xiaoxuzhu; import java.awt.BorderLayout; import java.net.*; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * Description: 服务器中建立服务器套接字,并等待客户程序的连接。 * * @author xiaoxuzhu * @version 1.0 * * <pre> * 修改记录: * 修改后版本 修改人 修改日期 修改内容 * 2022/5/29.1 xiaoxuzhu 2022/5/29 Create * </pre> * @date 2022/5/29 */ public class ServerSocketFrame extends JFrame { private JTextArea ta_info; private ServerSocket server; // 声明ServerSocket对象 private Socket socket; // 声明Socket对象socket public void getServer() { try { server = new ServerSocket(9527); // 实例化Socket对象 ta_info.append("服务器套接字已经创建成功\n"); // 输出信息 while (true) { // 如果套接字是连接状态 ta_info.append("等待客户机的连接......\n"); // 输出信息 socket = server.accept(); // 监听客户端连接 ta_info.append("连接成功......\n");//有客户端连接上,才算监听成功,会输入这一段 } } catch (Exception e) { e.printStackTrace(); // 输出异常信息 } } public static void main(String[] args) { // 主方法 ServerSocketFrame frame = new ServerSocketFrame(); // 创建本类对象 frame.setVisible(true); frame.getServer(); // 调用方法 } public ServerSocketFrame() { super(); setTitle("建立服务器套接字"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 260, 167); final JScrollPane scrollPane = new JScrollPane(); getContentPane().add(scrollPane, BorderLayout.CENTER); ta_info = new JTextArea(); scrollPane.setViewportView(ta_info); } }
实现效果
加载全部内容