当前位置: 首页 > news >正文

网站如何关闭镇江建设集团网站

网站如何关闭,镇江建设集团网站,广西南宁相亲网,起名字大全免费本文档描述了Server端接收到Client的消息并转发给所有客户端或私发给某个客户端 同时将聊天消息保存到mysql 服务端为当前客户端创建一个线程,此线程接收当前客户端的消息并转发给所有客户端或私发给某个客户端同时将聊天消息保存到mysql 本文档主要总结了将聊天…

本文档描述了Server端接收到Client的消息并转发给所有客户端或私发给某个客户端

同时将聊天消息保存到mysql

服务端为当前客户端创建一个线程,此线程接收当前客户端的消息并转发给所有客户端或私发给某个客户端同时将聊天消息保存到mysql

本文档主要总结了将聊天消息保存到mysql !!!

一、mysql:

mysql数据库中创建chatinfo表。

create table chatinfo(
    id int auto_increment,
    from_user varchar(40) null,
    to_user varchar(40) null,
    content varchar(400),
    constraint chatinfo_pk  primary key (id)

),;

二、DBUtil工具类:

package chat4_all;
import java.sql.Connection;
import java.sql.SQLException;
import com.alibaba.druid.pool.DruidDataSource;
/**用druid连接池来连接数据库的工具类*/
public class DBUtil {
    //1.DruidDataSource(可以理解为连接池)
    private static DruidDataSource ds = new DruidDataSource();

    static {
        //设置数据库的地址        ds.setUrl("jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true");
        ds.setUsername("root");//给DruidDataSource ds设置数据库用户名
        ds.setPassword("root");//给DruidDataSource ds设置数据库密码
        ds.setInitialSize(10);//给DruidDataSource ds初始容量
        ds.setMaxActive(20);//给DruidDataSource ds最大连接数
    }

    //2.用给DruidDataSource ds获取数据库连接的方法
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }
}

三、导入jar

3.1.创建lib软件包:

3.2.将druid-1.1.20.jar和mysql-connector-java-8.0.23.jar粘贴到chat4.lib软件包中:

3.3.然后将jar包设置为项目的类库:

在druid-1.1.20.jar上点右键然后按下图方式点击add as library

在mysql-connector-java-8.0.23.jar上点右键然后按下图方式点击add as library

四、Server端:

4.1.saveMessage:

在sendMessageToSomeOne()方法上边添加 如下方法 (用于将三个数据保存到数据库)

(消息发送者、消息接收者、发送的消息)

/**
 * 将聊天消息保存到数据库中
 * @param fromUser  发送方昵称
 * @param toUser    接收方昵称
 * @param content   聊天消息
 */
public void saveMessage(String fromUser,String toUser,String content){
    try ( Connection connection = DBUtil.getConnection(); ){
        String sql = "INSERT INTO chatinfo(content,from_user,to_user) " +
                     "VALUES (?,?,?)";
        PreparedStatement ps = connection.prepareStatement(sql);
        ps.setString(1,content);
        ps.setString(2,fromUser);
        ps.setString(3,toUser);
        ps.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

4.2.调用:

在Server里的ClientHandler类的run方法中循环读取客户端消息的循环中添加调用saveMessage()方法的一行代码。用于将群聊消息保存到mysql。

在Server里的ClientHandler类的sendMessageToOne()方法中添加调用saveMessage()方法的一行代码。如下图:

用于将私聊消息保存到mysql。

运行效果:

运行效果和上一版本chat3一样,不过多出了将聊天数据保存到mysql的功能。


                   

                                                                                                      By   zhaoyq   2024-05-31

http://www.yayakq.cn/news/25710/

相关文章:

  • 响应式企业网站案例微信下滑小程序怎么关
  • 武鸣住房和城乡规划建设局网站教育类集群网站建设
  • 做网站一般长宽多少电商网站建设与运行
  • 北京诚通新新建设有限公司网站学习html的网站
  • 如保做网站赢利大连网站优化多少钱
  • 做百科网站wordpress兼容php版本
  • 网站开发网校郑州最新发展
  • 广州品牌网站建设 优美帝国cms 仿站 wordpress
  • 免费空间的个人网站公司注册网站多少钱
  • 网站建设质量管理定义装饰网站建设的背景
  • 郑州网站开发外包做街舞网站的素材
  • 完全备份wordpress滁州百度seo
  • 做酒店工作去哪个招聘网站好word链接点进去是网站怎么做
  • 国外网站欣赏设计公司网站欣赏
  • 宁波网站建设方案联系方式百度网址入口
  • 北京怀柔网站制作海南三亚做网站
  • 做电缆好的网站深圳app开发合作
  • 企业手机网站建设新闻客户管理系统的功能
  • 我要建个网站免费商业wordpress主题
  • 域名注册后网站建设建设一个视频网站需要什么
  • 600元做网站北京如何优化网站
  • 网站图片轮播怎么弄网站系统建设思想如何写
  • 驻马店网站建设zmdsem承德网站建设规划
  • 地和网站建设医疗ppt模板下载免费完整版
  • 网站开发aspyum wordpress
  • 网站帮助中心设计重庆中环建设有限公司网站
  • 专做it招聘的网站什么是软文写作
  • 铁常乐个人网站五八同城最新招聘信息
  • 建设档案员证书查询网站加盟类网站怎么做
  • 智能网站系统想自己做网站