基于TCP实现聊天室
主要使用四个类
ChatClient类
    使用BufferedReader 得到输入流,使用OutputStream得到输出流
    实现读取服务器广播的消息和发送消息到服务器
    并且要将每一个客户端单独使用一个新线程
ChatServer类
    服务器启动,输出启动信息
    然后等待客户端连接,客户端接入就将其加入服务端线程中,并将其启动
ChatServerThread类
    包括client ,线程中处理的客户对象和ous输出流对象两个成语变量
    还包括聊天服务器线程的构造方法,得到客户Socket对象方法,得到客户端的地址方法,调用工具类向其他客户端广播的方法,读取客户端发送的消息方法以及关闭客户端线程方法
ChatTools类
    包括处理线程的对象队列和将客户对应的处理线程对象加入到队列中的方法,以及给其他客户端广播消息的方法

chatsRoom Design Report的更多相关文章

  1. ContactCollections Design Report

    通讯录的设计采用了分层+接口+面向对象+文件操作+方法实现 分三层实现,共使用了四个包,实现业务数据访问和界面的分离     contactaccess包实现对文件的访问         包括数据访问 ...

  2. 如何将FastReportOnlineDesign 灵活的应用到C/S B/S 程序当中?

    一.好久没有写博客了,主要是停在这里太久了,有些事情让自己尽量不在去想,忘记不了一段难以忘怀的记忆,就让这一段美好的记忆沉没在无锡的太湖中吧!不在去想了.难以忘怀..... 二.废话不多说了,不如正题 ...

  3. FastReport.Net

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. FastReport打印table

    经过验证是对的. table第一行添加标题,也就是拖过来的文本label,第二行开始绑定数据源的字段. 先设计报表的静态部分,再用代码注册数据源,然后设计,添加注册的数据源,绑定字段. var rep ...

  5. RTL Compiler之synthesis steps

    1 synthesis steps 1) Search Paths rc:/> set_attribute lib_search_path path / rc:/> set_attribu ...

  6. Winform中使用FastReport的DesignReport时怎样给通过代码Table添加数据

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  7. Winform中使用FastReport实现简单的自定义PDF导出

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  8. 一周死磕fastreport ----ASP.NET (三)

    做了一周,然而说着很快  首先拖一个WebReport 点击design report 设置模板 引入dll using引用 设置好就打印就可以了 未来几天, 然后都在设置样式 ....如何就一周过去 ...

  9. birt报表报错, There is no report design object available.org.eclipse.birt.report.exception.ViewerExcepti

    报错信息例如以下: - There is no report design object available. org.eclipse.birt.report.exception.ViewerExce ...

随机推荐

  1. CSS图标与文字对齐的两种方法

    在平时写页面的过程中,常遇到要把小图标与文字对齐的情况.比如: 总结了两种方法,代码量都比较少. 第一种 对img设置竖直方向对齐为middle, <div> <img src=&q ...

  2. 网络层-network layer(下):网络互连、子网掩码计算方法、Ipv4报头解析

    第五章 网络层-Network Layer(下) 上一章讲了网络层的任务.提供的两种服务.五个重要的路由算法.以及网络层的拥塞控制和服务质量问题.这一部分主要讲一讲网络互连问题和Internet的网络 ...

  3. 从零开始学生信-orthofinder的安装和使用-基因家族分析

    [环境变量]注释掉conda3,source ~/.bashrc conda install orthofinder # 若在上一章之后没有重启的同学请重启后操作. # 由于是刚开始搭建,这里没有给o ...

  4. Layui事件监听(表单和数据表格)

    一.表单的事件监听 先介绍一下几个属性的用法 1.lay-filter 事件过滤器 相当于选择器,layui的专属选择器 2.lay-verify 验证属性 属性值可以是 :required必填项, ...

  5. GC agent的安装和卸载

    一.GC agent安装 下面介绍GC agent的push和pull两种安装方法 1.push(推送)安装GC agent方法 1).打开EMGC home page:https://even.or ...

  6. 除了MD5加密,试一下签名吧

    需求 MD5加密,简单密码用彩虹表很容易破解. 密码不能被暴力破解,可以根据定制字符,时间戳等防止破解 解决方案 签名 密码加密 源码 const crypto = require('crypto') ...

  7. Spring Boot之搞定mongoTemplate

    最近使用MongoDB+Spring Boot的项目,发现相较于MyBatis来说,Spring Boot对于MongoDB进行操作变化更多,所以总结一下使用mongoTemplate库的知识点,以备 ...

  8. 手把手教你:将 ClickHouse 集群迁至云上

    前言 随着云上 ClickHouse 服务完善,越来越多的用户将自建 ClickHouse 服务迁移至云上.对于不同数据规模,我们选择不同的方案: 对于数据量比较小的表,通常小于10GB 情况下,可以 ...

  9. springmvc中使用文件下载功能

    项目代码:https://github.com/PeiranZhang/springmvc-fileupload 使用文件下载步骤 对请求处理方法使用void或null作为返回类型,并在方法中添加Ht ...

  10. Spark性能优化指南

    1 Spark开发调优篇 原则一:避免创建重复的RDD 原则二:尽可能复用同一个RDD 原则三:对多次使用的RDD进行持久化 原则四:尽量避免使用shuffle类算子 因此在我们的开发过程中,能避免则 ...