基于JavaEE的聊天室实现显示表情包图片
一、写在前面
这学期新开的JavaEE,使用socket做了一个聊天室,想着加一点自己的功能。传输文件流有点麻烦,于是就使用客户端直接的约定,实现显示图片的功能,说明:图片文件并未在socket中传输,而是使用的字符串约定,就像暗号,说什么暗号,自己在自己的客户端输出图片
二、设计思路
- 小明用基于socket通道做了一个实时聊天,实现了多客户客户端、服务端的实时通信,但是老师要求每个人都有自己的独特功能........于是,小明想,创新是不可能创新的,那现在QQ的工鞥有什么能够移植的呢,,,小明效果了一圈,发现大多功能都是基于文件传输,去找了一下socket的文件传输,果断撂挑子。还有什呢,要不就自己客户端约定好,特殊的字符串表示特殊操作,比如下面小明要举个例子: 有两个客户端A、B,客户端都是一模一样的,里面资源实现存放好10张图片,并且约定:发送消息为“@”的时候,这个字符串后边会跟着一个数字,咱们两个同时把数字代表编号的图片输出到聊天框,如 A发送给B:@ 那现在,两个客户端就会把3号图片输出到聊天框,造成发送的是图片的假象
- 说干就干,先实现自己窗口判断输出图片,在获取于是先在获取聊天输入区文本时做判断(我正添加表情按钮,到时候就不用记住暗号了),在输出相应编号图片,欸不对啊,这个聊天信息展示区是个文本框啊,那就给改成面板,使用新建面板类,使用流式布局规定布局宽度(不然他会横着输出消息)然后是面板添加滚动条,然后再聊天区打出来就好了
三、代码实现
QQ2905257286
突然想传csdn下载了,听说这玩意有回扣,恰个饭?
https://download.csdn.net/download/qq_41170600/12277060
四、配置说明
需要发的消息:现在,程序不是很完善,在客户端发送一个@就可以显示了大家可以当做工具类进行下一步开发
五、效果展示
基于JavaEE的聊天室实现显示表情包图片相关推荐
- 如何在基于python的聊天室中实现表情接收功能
注:本聊天室涉及TCP.SNMP协议 发送表情功能要点主要有两部分:表情按钮点击事件.字典存放表情. 表情按钮点击事件:发送表情时,参数是发的表情图标记,发送后将按钮销毁. 本次选用四个表情,每一个表 ...
- 基于Python的聊天室
基于Python的聊天室 文章目录 基于Python的聊天室 一.引言 1.1 背景和意义 1.2 系统要实现的功能 1.2.1 用户登录 1.2.2 群发消息 1.2.3 一对一聊天 1.2.4 发 ...
- 基于WebSocket实现聊天室(Node)
基于WebSocket实现聊天室(Node) WebSocket是基于TCP的长连接通信协议,服务端可以主动向前端传递数据,相比比AJAX轮询服务器,WebSocket采用监听的方式,减轻了服务器压力 ...
- 从0实现基于Linux socket聊天室-实现聊天室的公聊、私聊功能-4
前面文章链接如下: <从0实现基于Linux socket聊天室-多线程服务器模型-1> <从0实现基于Linux socket聊天室-多线程服务器一个很隐晦的错误-2> &l ...
- 【python】基于Socket的聊天室Python开发
基于Socket的聊天室Python开发 一.Socket简述 二.创建服务端Server 2.1 创建服务端初始化 2.2 监听客户端连接 2.3 处理客户端消息 三.创建客户端Client 3.1 ...
- 基于socket的聊天室实现原理
基于socket的聊天室,目前还比较少见,国内比较知名的有网易和碧海银沙聊天室.这种聊天室的特点很明显,不象CGI聊天室那样不管有没有人发言,都会定时刷新.而是当有人发言时,屏幕上才会出现新聊天内容, ...
- SSM(五)基于webSocket的聊天室
SSM(五)基于webSocket的聊天室 前言 不知大家在平时的需求中有没有遇到需要实时处理信息的情况,如站内信,订阅,聊天之类的.在这之前我们通常想到的方法一般都是采用轮训的方式每隔一定的时间向服 ...
- java开发websocket聊天室_java实现基于websocket的聊天室
[实例简介] java实现基于websocket的聊天室 [实例截图] [核心代码] chatMavenWebapp └── chat Maven Webapp ├── pom.xml ├── src ...
- Android 基于Socket的聊天室
原文地址为: Android 基于Socket的聊天室 Socket是TCP/IP协议上的一种通信,在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路.一旦建立了虚拟的网络链路, ...
最新文章
- 大连理工本科生顶会连刷SOTA被爆作弊!AAAI 2022接收后又面临撤稿,一作仍未发声...
- pandas 排序_懂Excel就能轻松入门Python数据分析包pandas(六):排序
- 如何对android菜单,Android菜单构造技巧
- leetcode最大矩形 (动态规划 python)
- Hive mysql 内连接_Hive-表连接 | 学步园
- HTML 5 的自定义 data-* 属性和jquery的data()方法的使用
- 全国计算机等级考试题库二级C操作题100套(第94套)
- NFS服务自动搭建及挂载脚本
- raid5加热备盘_联想服务器X3650 M2 配置RAID5与热备盘图文方法
- NOIP模拟题——tractor
- ArcGIS 城市生活区用地适宜性评价(五)
- 前后端分离项目部署_不用Docker前后端分离项目如何快速部署
- [随笔所想] 沉痛悼念开发技术专家毛星云老师
- 环境搭建以及一些命令的记录
- MySQL InnoDB 存储引擎写入磁盘(落盘)的原理\MySQL怎么保证持久性、原子性?(MySQL中是如何实现事务提交和回滚的)\隔离性
- CentOS/使用RPM管理包
- 零基础手把手教你做FMEDA
- android图片系统解决方案-从采集到显示
- 傅里叶变换(真正的通俗易懂)
- 什么高大填空四个字动人_照样子填空填四字成语什么什么什么地想
热门文章
- 借势营销:锦鲤玄学、鸡汤安慰剂、故事养成……高考借势营销干货来了!
- HTML小游戏24 —— h5魂斗罗之突围游戏(附完整源码)
- 【2018亚太数据中心峰会】胡海波:海外云服务和数据中心在国内的机遇和挑战...
- 半导体器件物理【18】非平衡过剩载流子习题
- python urllib2 post_python使用urllib2提交httppost请求的方法
- 爱站和站长之家的SEO综合查询书签工具
- 360证实将推移动通讯工具口信 类似微信米聊
- [转]秀下我的瓦伦西亚
- Qt 关于窗口全屏显示与退出全屏的实现
- 借贷宝如何才能利益最大化