社区
Java SE
帖子详情
初学java请教:有关聊天程序
zjhzylp
2005-10-26 07:25:08
我下载了个别人做的聊天程序。发现其他用户登录或退出的时候,其他用户都看不到提示。我想把这个提示加进去。加了半天都没成功。谁能给出相关的代码。
随便在那边回答都有分送。两边都答复都送分。
链接如下:
http://community.csdn.net/Expert/topic/4350/4350740.xml?temp=.6657526
...全文
70
2
打赏
收藏
初学java请教:有关聊天程序
我下载了个别人做的聊天程序。发现其他用户登录或退出的时候,其他用户都看不到提示。我想把这个提示加进去。加了半天都没成功。谁能给出相关的代码。 随便在那边回答都有分送。两边都答复都送分。 链接如下: http://community.csdn.net/Expert/topic/4350/4350740.xml?temp=.6657526
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjhzylp
2005-10-28
打赏
举报
回复
ok,我先给分,然后再好好看看。
不过附注好像出了点问题。
pieapple
2005-10-27
打赏
举报
回复
我给你改了一下,论方法还是比较简单的,全部用原来程序里面的东西,没有新的设计观点。
主要思路是:
在服务器端加入两条消息login和logout,当有新用户加入服务器时,发送"LOGIN:"+name给各用户,当有用户退出服务器时,发送“LOGOUT:”+name给各用户,
具体实现如下:
1. 修改服务器端notifyChatRoom函数
public void notifyChatRoom(String name,boolean login)
{
StringBuffer sb = new StringBuffer("PEOPLE");
for(int i=0;i<array.size();i++)
{
Client c =(Client)array.get(i);
sb.append(":"+c.name);
}
sendToClients(sb);
if(name==null)
return;
sb = new StringBuffer();
if(login)
sb.append("LOGIN:"+name);
else
sb.append("LOGOUT:"+name);
sendToClients(sb);
}
2. 修改服务器端notifyChatRoom()函数的三个调用:
(在内部类client中的run函数中)
三处依次改为: notifyChatRoom(name,true); //新用户加入
notifyChatRoom(name,false); //有用户退出
notifyChatRoom(null,false); //只刷新用户,没有加入或退出
3. 修改客户端内部类ClientListener类中run()函数的代码:
在IF...ELSE处加入如下内容:
else if(keyword.equals("LOGIN"))//弹出对话框说明新用户加入
{
while(st.hasMoreTokens())
{
String user = st.nextToken();
if(!user.equals(name))
JOptionPane.showMessageDialog(frame,
"用户"+user+"加 入","提示",
JOptionPane.INFORMATION_MESSAGE);
}
}
else if(keyword.equals("LOGOUT"))
{
while(st.hasMoreTokens())
{
String user = st.nextToken();
JOptionPane.showMessageDialog(frame,
"用户"+user+"退出","提示",
JOptionPane.INFORMATION_MESSAGE);
}
}
4. 附注:为了调试方便,我把各个用户的“消息窗口”定位在各自的Frame中间
实现方法: 在ClientServer中加入变量JFrame frame;
在其构造函数最后一行加入一句 frame=this;
本程序已经调试正确, 请楼主仔细验证。
撩妹攻略话术恋爱小
程序
源码分享
1. **编程实践**:对于
初学
者,可以通过阅读和理解源代码,学习如何将想法转化为实际的应用
程序
。 2. **优化改进**:对于有经验的开发者,可以借鉴其中的设计模式,或者对现有功能进行优化和扩展。 3. **创新应用**...
QQ代码简单的
【QQ代码简单的】这个主题可能涉及的是一个关于QQ应用
程序
或者与其相关的编程作业。在这个作业中,作者可能尝试了实现一些...对于
初学
者,可以从简化问题、逐步实现功能、查阅文档和
请教
他人开始,逐步提升编程水平。
Java
详解:
java
线程并发问题
随后他报名了北大某鸟进行培训,进行了为期半年的
Java
程序
员速成加工。 因为年前结束培训他准备年后面试,谁知遇到这个大疫情,一直拖到了5月份。随后进行了长达2个月的面试历程。谁知昨天
聊天
的时候这个狗贼竟然...
java
gui插件使用_WindowBuilder使用教程–
Java
GUI设计利器 (-:初稿
重拾
java
桌面应用
程序
设计:–写在前面前两天一个朋友让我帮忙搞定课程设计,用
java
写 超市管理系统,用swing awt技术实现想起
初学
java
半年前写的基于Apache MINA的
聊天
室 桌面应用
程序
,转web,当时没有总结,...
初学
Java
(不要再删了!!!)
有个朋友
请教
Java
内容。我就把作业给她看,备她使用,并一同学习。现在放到这里,也是一同学习的意思。发表自己的想法和学习内容,很爽的!第一篇,试水作业。第二篇boolean数据类型用法运算符【逻辑运算符、关系...
Java SE
62,629
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章