一、题目描述
题目实现:运行服务器程序,等待客户端程序连接。
二、解题思路
首先需要在服务器中建立服务器套接字,并等待客户程序的连接。
创建一个类:ServerSocketFrame,继承JFrame
通过ServerSocket类创建绑定到指定端口的服务器套接字对象。然后调用ServerSocket类的accept()方法监听客户端的连接。
实例化Socket对象
1 | server = new ServerSocket( 9527 ); // 可指定端口 |
三、代码详解
ServerSocketFrame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 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> <p> * @date 2022/5/29<br> */ <br> public class ServerSocketFrame extends JFrame {<br> private JTextArea ta_info;<br> private ServerSocket server; // 声明ServerSocket对象<br> private Socket socket; // 声明Socket对象socket</p> <p> public void getServer() {<br> try {<br> server = new ServerSocket( 9527 ); // 实例化Socket对象<br> ta_info.append( "服务器套接字已经创建成功n" ); // 输出信息<br> while ( true ) { // 如果套接字是连接状态<br> ta_info.append( "等待客户机的连接......n" ); // 输出信息<br> socket = server.accept(); // 监听客户端连接<br> ta_info.append( "连接成功......n" ); //有客户端连接上,才算监听成功,会输入这一段<br> }<br> } catch (Exception e) {<br> e.printStackTrace(); // 输出异常信息<br> }<br> }</p> <p> public static void main(String[] args) { // 主方法<br> ServerSocketFrame frame = new ServerSocketFrame(); // 创建本类对象<br> frame.setVisible( true );<br> frame.getServer(); // 调用方法<br> }</p> <p> public ServerSocketFrame() {<br> super ();<br> setTitle( "建立服务器套接字" );<br> setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br> setBounds( 100 , 100 , 260 , 167 );</p> <p> final JScrollPane scrollPane = new JScrollPane();<br> getContentPane().add(scrollPane, BorderLayout.CENTER);</p> <p> ta_info = new JTextArea();<br> scrollPane.setViewportView(ta_info);<br> }<br> }</p> |
实现效果
到此这篇关于Java聊天室之实现运行服务器与等待客户端连接的文章就介绍到这了,更多相关Java聊天室内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!