用Java实现的eChat聊天服务器
<配置信息>
<房间>
<房间名称> eChat聊天室 </房间名称>
<管理员> James </管理员>
<讨论主题> 山上的朋友,你们好!</讨论主题>
<端口> 3166 </端口>
<人数限制> 999 </人数限制>
</房间>
</配置信息>
|
// 返回参数Params
HttpParser requestParam = new HttpParser (_clientSocket);
HashMap _param = requestParam.GetParams ();
// 创建Actions对象
Actions action = new Actions (_out, _param, _room);
if ( requestParam.action != null ){
//System.out.println("acton :"+requestParam.action);
if ( requestParam.action.equals ("") ){
action.index ();
} else if ( requestParam.action.equals ("main") ){
action.main ();
} else if ( requestParam.action.equals ("login") ){
action.login ();
} else if ( requestParam.action.equals ("talk") ){
action.talk ();
} else if ( requestParam.action.equals ("send") ){
action.send ();
} else if ( requestParam.action.equals ("chat") ){
action.chat ();
} else if ( requestParam.action.equals ("list") ){
action.list ();
} else if ( requestParam.action.equals ("outinfo") ){
// 把这个一直不断开的连接加入User对象
action.outInfo (_clientSocket);
return; //不断开连接
} else{
// 未知Action就转入index
action.index ();
}
}
_out.flush ();
//断开连接
_clientSocket.close ();
|
} else if ( requestParam.action.equals ("outinfo") ){
// 把这个一直不断开的连接加入User对象
action.outInfo (_clientSocket);
return; //不断开连接
|
try{
BufferedInputStream _in;
_in = new BufferedInputStream (clientSocket.getInputStream ());
// read()方法会引起阻塞,所以必须为每个用户分配一个单独线程(会影响效率)
_in.read ();
} catch ( IOException e ){
DelUser (clientSocket);
}
|
用Java实现的eChat聊天服务器相关推荐
- java搭建聊天服务器_使用 ServerSocket 建立聊天服务器-2
1. 从serverListener中可以看出,每一个客户端创建新的请求之后,都会把它分配给一个独立的chatsocket ,但是每一个ChatSocket都是相互独立的,他们之间并不能沟通,所以要新 ...
- 局域网服务器发送消息,Java实现简单局域网聊天室
本文实例为大家分享了Java实现简单局域网聊天室的具体代码,供大家参考,具体内容如下 Java 的Socket编程: 1.TCP协议是面向连接的.可靠的.有序的.以字节流的方式发送数据,通过三次握手方 ...
- Java实现即时聊天:聊天服务器+聊天客户端+Web管理控制台
来源:cnblogs.com/blogtimes/p/14767484.html 一.前言 说实话,写这个玩意儿是我上周刚刚产生的想法,本想写完后把代码挂上来赚点积分也不错.写完后发现这东西值得写一篇 ...
- 使用JAVA建立稳定的多线程服务器
2002 年 7 月 03 日 本文详细的介绍了使用Java语言建立一套多线程服务器的过程,该服务器使用对象传递消息,在线程中使用队列机制,使服务器的性能大大提高了.这套服务器可以被用于各种C/S或B ...
- 服务器收到消息加入数组,从聊天服务器发送到聊天客户端的数组更新
我发现了一个聊天服务器的代码,我有一个简短的问题.这是关于以下摘录:从聊天服务器发送到聊天客户端的数组更新 clientOutputStreams.add(作家); 显然,这种字符串数组应该被发送到聊 ...
- java大作业网络聊天室
这个项目是我大一的java期末大作业,学习了一个学期的成果,编程能力不够,做的并不够好,写在这里记录一下自己的成长,也欢迎大家给出宝贵意见! 第一次写博客哟,请多多支持! 该篇博客写一个基于java的 ...
- 实战即时聊天,一文说明白:聊天服务器+聊天客户端+Web管理控制台。
目录 一.前言 二.最终效果 1.聊天服务器 2.聊天客户端 3.Web管理控制台 三.需求分析 四.概要设计 1.技术选型 1)聊天服务端 2)Web管理控制台 3)聊天客户端 4)SpringBo ...
- 聊天服务器 单机性能,环信即时聊天服务器
环信即时聊天服务器 内容精选 换一换 本章节通过示例项目"小蝌蚪即时交互游戏"介绍如何使用DevCloud开发基于PHP语言的H5应用.项目名称:小蝌蚪即时交互游戏.项目简介:小蝌 ...
- java tcp多人聊天室
TCP的多人聊天室 上次写了一个只能两个人通信的TCP,这次写了个可以多人聊天的,利用多线程实现. 设计模式: 服务端:首先运行服务器,然后启动一个专门处理客户端消息的线程,然后监听是否有客户端连接, ...
最新文章
- 索引中丢失 IN 或 OUT 参数:: 103,解决办法
- Spring IOC 容器源码分析系列文章导读
- 自定义字符串查找函数c语言,(C语言自定义函数,/*编写函数实现在字符串pStr中查找子串pSub int subString( char* pStr, char* pSub);...
- 一篇来自前端同学对后端接口的吐槽
- js执行环境作用域和闭包_JavaScript中执行上下文,提升,作用域和闭包的终极指南
- 描写计算机老师上课的神态,请你用一段话描写一位老师上课的情景,注意抓住神态语言动作等细节...
- crc16码表的使用_查表法计算CRC16校验值
- java获取access token_微信java 开发4 access_token获取
- arduino eeg脑电模块_应用深度学习EEGNet来处理脑电信号
- linux文件管理命令详解
- 如何给计算机关闭网络连接,win10系统的电脑怎么把网络连接关闭?
- KU FPGA DDR4 SDRAM仿真/板卡测试
- 硬盘结构及raid磁盘阵列
- 蓝桥杯:调和级数————Python
- codeforces 869E The Untended Antiquity
- 2021年危险化学品经营单位主要负责人考试报名及危险化学品经营单位主要负责人复审考试
- ∑-Δ 型ADC原理
- 基于51单片机的自动红外感应洗手器proteus仿真程序设计
- php实现等比例缩放图片
- 关于IDEL中出现No module named requests错误