77范文网 - 专业文章范例文档资料分享平台

Java聊天室系统程序设计实验报告 - 图文(5)

来源:网络收集 时间:2019-03-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

} }

catch(IOException e){} }

public void Enter()//登陆请求处理 {

try {

if(existName && existPassword) {

onlineNumber=\

toUserMessage.Command=\

toUserMessage.UserName=fromUserMessage.UserName;

toUserMessage.Message=\系统消息:大家欢迎\加入我们的欢乐聊天室!!!\

Server.vectorUserList.addElement(fromUserMessage.UserName);//加入用户到用户在线列表

toUserMessage.vectorUserList=Server.vectorUserList;

streamToUser.writeObject((User)toUserMessage);//返回用户在线列表和操作信息

streamToUser.flush();

Server.vectorStreamToUser.addElement(streamToUser);//存储该对象的输出流

jLabel5.setText(\共有:\个客户在线\服务器刷新

jList1.setListData(Server.vectorUserList); } else {

toUserMessage.Command=\

streamToUser.writeObject((User)toUserMessage);//返回操作信息

streamToUser.flush(); } }

catch(IOException e){} }

public void Leave()//离开请求处理 {

String name=fromUserMessage.UserName;

Server.vectorStreamToUser.removeElementAt(Server.vectorUserList.indexOf(name));

Server.vectorUserList.removeElement(name); onlineNumber=\ Updating(name);

第 20 页 共 69 页

20

}

public void Updating(String name)//群发新用户登陆通知,更新用户在线列表和对像框

{

try {

if(onlineNumber.equals(\ {

User toUserMessage=new User(); toUserMessage.Command=\ toUserMessage.UserName=name;

toUserMessage.Message=\系统消息:大家欢迎\加入我们的欢乐聊天室!!!\

for(int i=1;i

ObjectOutputStream newUserStream;

newUserStream=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(i-1); newUserStream.writeObject((User)toUserMessage); newUserStream.flush(); } }

if(onlineNumber.equalsIgnoreCase(\ {

User toUserMessage=new User(); toUserMessage.Command=\ toUserMessage.UserName=name;

toUserMessage.Message=\系统消息:\悄悄的走了!!!\

for(int i=0;i

ObjectOutputStream newUserStream;

newUserStream=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(i); newUserStream.writeObject((User)toUserMessage); newUserStream.flush(); } }

jLabel5.setText(\共有:\个客户在线\服务器刷新

jList1.setListData(Server.vectorUserList); onlineNumber=\ }

catch(IOException e){} }

public void Message()//聊天信息发送 {

User toUserMessage=new User(); try {

第 21 页 共 69 页

21

toUserMessage.Command=\

toUserMessage.Message=fromUserMessage.Message; if(fromUserMessage.Command.equals(\ {

for(int i=0;i

if(!(fromUserMessage.UserName.equals(Server.vectorUserList.elementAt(i)))) {

streamToUser=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(i); streamToUser.writeObject((User)toUserMessage); streamToUser.flush(); } } }

if(fromUserMessage.Command.equals(\ {

for(int i=0;i

if(fromUserMessage.UserName.equals(Server.vectorUserList.elementAt(i))) {

streamToUser=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(i); streamToUser.writeObject((User)toUserMessage); streamToUser.flush(); } } } }

catch(IOException e){} }

//文件传输信息---------------------------------- public void toSinkMessage() {

try {

streamToUser=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(Server.vectorUserList.indexOf(fromUserMessage.SinkName));

streamToUser.writeObject(fromUserMessage); streamToUser.flush(); }

catch(IOException e){} }

public void toUserMessage() {

try

第 22 页 共 69 页

22

{

streamToUser=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(Server.vectorUserList.indexOf(fromUserMessage.UserName));

streamToUser.writeObject(fromUserMessage); streamToUser.flush(); }

catch(IOException e){} } }

private void startMenuItemActionPerformed(ActionEvent evt) //启动事件 {

new AppServer();

jLabel4.setText(\服务器状态:已启动\ }

class AppServer extends Thread {

public AppServer() {

try {

serverSocket = new ServerSocket(1001);

//建立InetAddress对象

InetAddress intel=InetAddress.getLocalHost(); String SerName=intel.getHostName(); String SerIp=intel.getHostAddress(); System.out.println(\服务器名:\

System.out.println(\服务器IP:\ }

catch(IOException e) {

System.out.println(\ }

System.out.println(\ this.start(); }

public void run() {

try {

while(true) {

Socket UserSocket = serverSocket.accept(); connection con = new connection(UserSocket); } }

第 23 页 共 69 页

23

catch(IOException e) {

System.out.println(\ } } }

private void stopMenuItemActionPerformed(ActionEvent evt) //停止事件 {

jLabel4.setText(\服务器状态:即将关闭\

String Message=\各位用户请注意,服务器5秒钟后将关闭!敬请原谅!\ try {

User toUserMessage=new User();

toUserMessage.Command=\ toUserMessage.Message=Message;

for(int i=0;i

ObjectOutputStream

streamToUser=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(i); streamToUser.writeObject((User)toUserMessage); streamToUser.flush(); } }

catch(IOException e){} try {

Thread.sleep(5000); }

catch(InterruptedException e){} System.exit(0); }

private void msgMenuItemActionPerformed(ActionEvent evt) //公告事件 {

try {

User toUserMessage=new User();

String Mesage=JOptionPane.showInputDialog(null,\请输入公告内容:\系统消息\

toUserMessage.Message=\系统消息:\ toUserMessage.Command=\

for(int i=0;i

ObjectOutputStream

streamToUser=(ObjectOutputStream)Server.vectorStreamToUser.elementAt(i); streamToUser.writeObject((User)toUserMessage); streamToUser.flush(); } }

catch(IOException e){}

第 24 页 共 69 页

24

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java聊天室系统程序设计实验报告 - 图文(5)在线全文阅读。

Java聊天室系统程序设计实验报告 - 图文(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/501552.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: