本科毕业论文-基于JAVA的聊天系统的设计与实现(4)
3 .2 聊天系统的设计步骤及功能模块划分
聊天系统工作原理图
本科毕业论文-基于JAVA的聊天系统的设计与实现
3.3 聊天系统各功能模块
(1)服务器程序模块
服务器与客户间通过套接口Socket(TCP)连接。在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类.Socket,使得编写网络应用程序相对容易。服务器采用多线程以满足多用户的请求,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认端口为9527,然后无限循环调用accept()方法接受客户程序的连接。
服务器线程源码: package qq.server;
import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import .Socket; import java.util.*;
import qq.dao.hibernate.IServiceDao; import qq.entity.*;
public class ServerController {
private User user;
本科毕业论文-基于JAVA的聊天系统的设计与实现
private Socket s; private IServiceDao dao; private ObjectInputStream ois; private ObjectOutputStream oos; private OnlineUser onlineUser;
public ServerController(Socket s) { }
public void handle() throws Exception {
ois=new ObjectInputStream(s.getInputStream()); oos=new ObjectOutputStream(s.getOutputStream()); onlineUser=new OnlineUser(ois,oos); while(true){
Request req=(Request)ois.readObject(); ois.read();
RequestType type=req.getType(); if(type.equals(RequestType.exit)){
exitHandle(); break;
loginHandle(req); registerHandle(); offlineHandle(); break;
changeInformationHandle(); modifypasswdHandle(req);
super();
dao=erDao; this.s = s;
}else if(type.equals(RequestType.login)){ }else if(type.equals(RequestType.register)){ }else if(type.equals(RequestType.offline)){
}else if(type.equals(RequestType.changeInformation)){ }else if(type.equals(RequestType.modifypasswd)){
本科毕业论文-基于JAVA的聊天系统的设计与实现
}
}
}else if(type.equals(RequestType.sendMessage)){ }
sendMessageHandle(req); receiveFileHandle(req); sendFileHandle(req);
}else if(type.equals(RequestType.receiveFile)){ }else if(type.equals(RequestType.sendFile)){
private void modifypasswdHandle(Request req) { }
private void changeInformationHandle() {
try {
User user=(User)ois.readObject(); Long id=Long.parseLong(req.getData("id")); String oldpwd=req.getData("oldpwd"); String newpwd=req.getData("newpwd");
Response res=new Response(RequestType.modifypasswd); try { }
dao.updatePwd(id, oldpwd, newpwd); res.setData(1); try { } try { }
oos.writeObject(res); e1.printStackTrace(); } catch (IOException e1) {
oos.writeObject(res); e.printStackTrace(); } catch (IOException e) {
} catch (RuntimeException e) {
…… 此处隐藏:283字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




