Java网络编程之简易聊天室的实现

目录
  • 一、题目描述
  • 二、解题思路
  • 三、代码详解

一、题目描述

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

二、解题思路

首先需要启动上题的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(); // 调用连接方法
    }
}

服务端等待连接

启动客户端

查看服务端的状态显示

到此这篇关于Java网络编程之简易聊天室的实现的文章就介绍到这了,更多相关Java聊天室内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现简单局域网聊天室

    本文实例为大家分享了Java实现简单局域网聊天室的具体代码,供大家参考,具体内容如下 Java 的Socket编程: 1.TCP协议是面向连接的.可靠的.有序的.以字节流的方式发送数据,通过三次握手方式建立连接,形成传输数据的通道,在连接中进行大量数据的传输,效率会稍低 2.Java中基于TCP协议实现网络通信的类 客户端的Socket类 服务器端的ServerSocket类 3.Socket通信的步骤 ① 创建ServerSocket和Socket ② 打开连接到Socket的输入/输出流 ③

  • Java Socket实现简易聊天室

    Java-Socket编程实现简易聊天室(TCP),供大家参考,具体内容如下 实现一个服务器接收多个客户端 测试: 首先启动服务器,然后启动三个客户端,输入三个不同的用户名,分别在聊天室发消息 看其他客户端是否能接收到消息 效果如下图: 一号发消息 可以在二号和三号客户端接收到消息 服务器设计 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ja

  • Java实现聊天室界面

    本文实例为大家分享了Java实现聊天室界面的具体代码,供大家参考,具体内容如下 服务器端: package Server;   import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util

  • Java实现简单的聊天室功能

    本文实例为大家分享了Java实现简单聊天室功能的具体代码,供大家参考,具体内容如下 一.客户端的创建 1.我们可以用Socket来创建客户端 /**   *@类名 Client   *@描述 TODO 客户端 1   *@版本 1.0   *@创建人 XuKang   *@创建时间 2020/9/24 16:18   **/ public class Client {     public static void main(String[] args) throws UnknownHostExc

  • Java Socket实现聊天室功能

    本文实例为大家分享了Java Socket实现聊天室的具体代码,供大家参考,具体内容如下 1 创建登录判断类UserLogin import java.util.HashSet; import java.util.Set; public class UserLogin {     public static boolean login(String username) {         Set<String> set = initUser();         // set中含有该usern

  • Java网络编程之简易聊天室的实现

    目录 一.题目描述 二.解题思路 三.代码详解 一.题目描述 题目实现:运行客户端,连接服务器. 二.解题思路 首先需要启动上题的ServerSocketFrame服务,这样客户端运行时,才能连接上服务器. 创建一个类:ClientSocketFrame,继承JFrame 通过Socket类创建到指定服务器和端口的套接字对象. 实例化Socket对象 socket = new Socket("127.0.0.1", 9527); // 127.0.0.1 代表的是本地IP 三.代码详解

  • Java基于socket实现简易聊天室实例

    本文实例讲述了Java基于socket实现简易聊天室的方法.分享给大家供大家参考.具体实现方法如下: chatroomdemo.java package com.socket.demo; import java.io.IOException; import java.net.DatagramSocket; public class ChatRoomDemo { /** * @param args * @throws IOException */ public static void main(S

  • Java网络编程实现多线程聊天

    本文实例为大家分享了Java网络编程实现多线程聊天的具体代码,供大家参考,具体内容如下 聊天程序如果是单线程,会导致没人只能说一句,并且说了以后,必须等到另一个人的回复,才能说第二句.收发都在主线程中,不能同时进行. 解决方法: 将收发放到两个不同的线程 1. SendThread 发送消息线程 2. RecieveThread 接受消息线程 3. Server一旦接受到连接,就启动收发两个线程 4. Client 一旦建立了连接,就启动收发两个线程 多线程聊天 1 SendThread pac

  • Java网络编程TCP实现聊天功能

    网络编程TCP实现聊天的前提还需要掌握IO流,话不多说,直接上代码! 客户端: package com.kuang.lesson02; import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; //客户端 public class TcpClientDemo01 { public static void main(String[] ar

  • Java GUI编程实现在线聊天室

    引言 综合应用Java的GUI编程和网络编程,实现一个能够支持多组用户同时使用的聊天室软件.该聊天室具有比较友好的GUI界面,并使用C/S模式,支持多个用户同时使用,用户可以自己选择加入或者创建房间,和房间内的其他用户互发信息(文字和图片) 主要功能 客户端的功能主要包括如下的功能: 选择连上服务端 显示当前房间列表(包括房间号和房间名称) 选择房间进入 多个用户在线群聊 可以发送表情(用本地的,实际上发送只发送表情的代码) 退出房间 选择创建房间 房间里没人(房主退出),导致房间解散 显示系统

  • C++基于socket UDP网络编程实现简单聊天室功能

    本文实例为大家分享了C++基于socket UDP实现简单聊天室功能的具体代码,供大家参考,具体内容如下 0.通信步骤流程图 (左:服务器:右:客户端:) 1.服务器代码 1.1服务器类头文件(CServer_UDP.h) #pragma once #include <winsock2.h> class CServer_UDP { public: CServer_UDP(); void SendMsg(const char sendBuf[]); void RecMsg(); ~CServer

  • Java实现一个简易聊天室流程

    目录 文件传输 Tcp方式 Udp 方式 简易聊天室的实现 接收端 发送端 启动 说到网络,相信大家都对TCP.UDP和HTTP协议这些都不是很陌生,学习这部分应该先对端口.Ip地址这些基础知识有一定了解,后面我们都是直接上demo来解释代码 文件传输 Tcp方式 这里我们指的是C/S架构的文件传输,需要涉及一个客户端Client和服务器端(Server),这里采用的是TCP协议进行传输的,TCP需要经过三次握手和四次挥手,需要注意的是Client上传文件我们需要告诉服务器,我已经传输完成了so

  • Java网络编程实例——简单模拟在线聊天

    1.前提知识 需要知道简单的IO流操作,以及简单的UDP发送数据包的原理. 需要用到的类:DatagramSocket.DatagramPacket UDP数据包基于DatagramSocket发送和接收,DatagramPacket用于封装数据包 看下案例: 客户端发送消息: 正常情况下从控制台读信息,封装到DatagramPacket之中,再由DatagramSocket的send方法发出 读取到bye的时候退出聊天 public class UdpOnlineClient { public

  • 一篇文章带你入门java网络编程

    目录 基于TCP/IP协议的通信 基于UDP协议的通信 InetAddress 案例演示 (简易聊天室) UDP 演示 总结 基于TCP/IP协议的通信 TCP/IP协议 TCP/IP协议.会在通信两端建立连接(虚拟连接),用于发送和接收数据 TCP/IP协议是一种可靠的网络协议,它通过重发机制来保证这种可靠性 通信的实现 ServerSocket用来监听来自客户端的连接,当没有连接时,它处于阻塞状态 客户端使用Socket连接到指定的服务器 基于UDP协议的通信 UDP协议 UDP协议不会在通

随机推荐