Java小项目之:教你做个聊天系统!

Java小项目之:聊天系统
今天给大家带来的java练手小项目是一个简单的聊天室,界面简单,操作不难。
分为注册系统,登录系统和聊天系统三部分,很适合java小白练手。
完整的源码和素材请关注并私信我获取!

界面展示:

代码展示:
package chatRoom2;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    Socket socket = null;
    try {
        socket = new Socket("127.0.0.1", 8000);
        new ClientWriterThread(socket).start();
        new ClientReaderThread(socket).start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

class ClientWriterThread extends Thread {
private Socket socket;
private BufferedReader in;
private PrintWriter out;

public ClientWriterThread(Socket socket) {
    super();
    this.socket = socket;
    try {
        in = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(new OutputStreamWriter(
                socket.getOutputStream()), true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

@Override
public void run() {
    while (true) {
        try {
            String str = in.readLine();
            if (str == null || "exit".equals(str)) {
                break;
            }
            out.println(str);
        } catch (Exception e) {
            e.printStackTrace();
            break;
        }
    }
}

@Override
public String toString() {
    return "ClientWriterThread [socket=" + socket + "]";
}

}

class ClientReaderThread extends Thread {
private Socket socket;
private BufferedReader in;

public ClientReaderThread(Socket socket) {
    super();
    this.socket = socket;
    try {
        in = new BufferedReader(new InputStreamReader(
                socket.getInputStream()));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

@Override
public void run() {
    while (true) {
        try {
            String str = in.readLine();
            if ("exit".equals(str)) {
                break;
            }
            System.out.println("服务器说:" + str);
        } catch (Exception e) {
            e.printStackTrace();
            break;
        }
    }
}

@Override
public String toString() {
    return "ClientReaderThread [socket=" + socket + "]";
}

}
喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私信我!
祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!

原文地址:https://blog.51cto.com/14623707/2468843

时间: 2024-10-07 11:17:29

Java小项目之:教你做个聊天系统!的相关文章

Java小项目之:教你做电子日历!

Java小项目之:教你做电子日历!<!doctype html><html><head><meta charset="utf-8"><title>日历控件</title><script src="js/new_file.js" defer></script></head> <body><input id="calendar"

java小项目之:植物大战僵尸,这个僵尸有点冷!内附素材源码

Java小项目之:植物大战僵尸! <植物大战僵尸>是由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售,这款游戏可谓是无人不知无人不晓. 在我身边,上到40岁的大叔阿姨,下到7.8岁的小弟弟妹妹都听说和玩过这游戏.在以前智能手机还没流行的时候,各种黑网吧,游戏厅便有着玩这游戏的人.当3G技术现世,半智能手机和智能手机出现后,这款游戏更是如日中天,与愤怒的小鸟一起霸占了手机游戏市场(但当时估计都是盗版的). 相信有些使用b站的小伙伴,应该看过很多这样的视频: 这种视

Java小项目之:拼图游戏!

Java小项目之:拼图游戏!今天教大家用java做出一个拼图游戏,很适合java初学者练手.所用素材: 部分代码: package picture_mosical; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.awt.image.CropImageFilter; import java.awt.i

Java小项目之:图书馆管理系统!有借有还再借不难!

Java小项目之:图书馆管理系统!今天给大家分享的java小项目是图书馆管理系统.这个图书馆管理系统是很完善的,包括书籍信息录入.借阅者信息.书籍类别添加.新书订购等等功能.和现实生活中的图书馆管理系统没什么两样,毫不夸张的说,你只要学会了今天我分享的这个小项目,以后自己创建一个图书馆管理系统是没一点问题的.按照惯例先上图: 部分代码展示:public class BookLoginIFrame extends JFrame { private class BookResetAction imp

java小项目之:泡泡堂炸弹人,来互相伤害呀!

Java小项目之:泡泡堂!双人对弈今天给大家分享的java小项目,是披着泡泡堂外衣的炸弹人游戏.炸弹人这种休闲游戏抓住了玩家对互动娱乐的需求,它操作简单,极易上手,趣味十足,能给玩家在短时间内就可获得游戏所带来的互动趣味和成就感.需要素材的可以私信我,这个小游戏是很适合java初学者练手的.功能模块简介: 游戏开始画面 人物移动的控制实现 炸弹的产生及炸弹爆炸的实现 结果的判断实现 计时的实现 两人一起互玩的实现游戏界面展示: 代码展示: 操作介绍:1.先进入游戏画面,用户可以自己选择角色,pl

Java小项目之:投票系统

Java小项目之:投票系统今天给大家带来的是java编写的投票小系统,代码简易,适合初学者练手!代码展示:package com.tarena.wgh.servlet; import java.io.IOException;import java.io.PrintWriter;import java.util.*; import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.serv

Java小项目之:在线测评考试系统

Java小项目之:在线测评考试系统,让你可以在家考科一!今天带来的java小项目是一套在线测评考试系统,题库是科目一的.不仅可以在家练练java技术,还可以边学习学习科目一,一举两得.界面介绍:开始.分数.考试规则.离开,四个选项.还有很多题库可以选择,可以私信我!代码展示:package service; import java.util.ArrayList; import java.util.List; import java.util.Random; import util.Config;

Java小项目之:文件的加密与解密!再也不怕存的小电影被别人发现了!

Java小项目之:文件的加密与解密!再也不怕存的小电影被别人发现了!今天带来的java小项目是加密解密系统,再也不怕别人偷看自己的电脑了,也可以正大光明的存小电影了.减少借别人电脑被看隐私的尴尬,从这个项目开始!界面展示: 部分代码展示:package wt.diy.encryption.gui; import java.io.File; import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JO

Java小项目之:小说阅读器

Java小项目之:小说阅读器 今天带来的java项目是一款阅读器,老少皆宜,适合练手. 代码展示: package com; import javax.swing.JOptionPane; public class Scroll { private int n; private int size; private Thread t; private static int def_speed = 1000; private static int up_speed = -500; private s