资源简介
我自己的做的本科毕业设计+毕业论文
以下是部分摘要:
随着互联网的发展,网络聊天工具作为一种交流工具,已经受到网民的青睐。目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯QQ、MSN-Messager等等。
即时通讯软件,是每一个上网用户都需要的工具,它除了能够让您迅速地在网上找到自己的朋友和伙伴之外,还可以实时交谈和传递信息,截止到目前,全球约有近3亿多人使用即时软件,正因为即时通讯软件拥有数以亿计的用户和增长的市场,所以各个公司都盯上了这个最大的市场,一时间,即时通讯市场硝烟四起。
对等网络(peer-to-peer,简称P2P),应用最初出现时和现在并不相同。事实上可以认为它是若干不同技术以及流行趋势相结合的产物。以下是导致P2P技术发展最重要的趋势:首先,一些新技术与软件工程的结合,形成了一种将工作分散的趋势。P2P计算正是这种分散工作趋势的结果。其次,在企业应用集成等因素的驱动下,过去十年渐渐形成从集中的单机系统转向分布式系统。然而随着互联网的发展,全面的分布式计算也就成为一种迫切需求。
代码片段和文件信息
package javaqq;
import java.io.*;
import java.net.*;
import sun.audio.*;
public class Catcher extends Thread {
MulticastSocket Csocket;
Socket CheckSocket;
Stateframe sf;
InetAddress Cgroup;
DatagramPacket packet;
DatagramSocket socket;
String tag;
int i=0k;
BufferedReader in;
PrintWriter out;
UserInfo[] userinfo;
public final static int CATCH_PORT=7322;
public final static int CHECK_PORT=5001;
public Catcher(MulticastSocket csocket Stateframe sf String tag UserInfo[] userinfo) {
Csocket = csocket;
this.sf = sf;
this.tag = tag;
this.userinfo = userinfo;
try {
Cgroup=InetAddress.getByName(“239.0.0.0“);
} catch (UnknownHostException e) {
e.printStackTrace();
}
start();
}
//实现对组播端口的监听,并作出反映
public void run(){
try {
socket=new DatagramSocket();
while(true){
byte[] Rdata=new byte[256];
packet=new DatagramPacket(RdataRdata.length);
Csocket.receive(packet);//等待接受数据包
//count记录了数据包的最后一位数,也就是记录了用户名的长度。
String count=new
String(packet.getData()).substring(packet.getLength()-1packet.getLength());
int num=Integer.parseInt(count);
//check为数据包的IP地址
String check=new String(packet.getData()).substring(1+numpacket.getLength()-1);
String judge=new String(packet.getData()).substring(01);
String usertag=new String (packet.getData()).substring(1num+1);
//judge为“C”时反送一个含有对方用户名以及本机的IP的数据包到组播组
if(judge.equals(“C“)){
i=sf.friList.getItemCount();
processMsg(usertag);
userinfo[i]=new UserInfo(usertagcheck);
ring();
Connect(check);
}
if(judge.equals(“D“)){
while(userinfo[i]!=null){
String l=userinfo[i].getName();
if(l.equals(usertag)){
k=i;
while(userinfo[k]!=null){
userinfo[k]=userinfo[k+1];
k++;
}
break;
}
}
try {
removeMsg(usertag);
} catch (Exception n) {
try {
removeMsg(usertag);
} catch (Exception n2) {}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
//Connect()方法实现了对对方回应本机信息的过程,
//其中第一以及最后一个为无用信息,在接受方被吸收掉
public void Connect(String check){
try {
CheckSocket=new Socket(checkCHECK_PORT);
in=new BufferedReader(new
InputStreamReader(CheckSocket.getInputStream()));
out=new PrintWriter(CheckSocket.getOutputStream());
out.println(“--------------------------“);
out.flush();
out.println(tag);
out.flush();
out.println(InetAddress.getLocalHost().getHostAddress());
out.flush();
out.println(“---------------------------“);
out.flush();
} catch (Exception e) {
try {
in.close();
out.close();
CheckSocket.close();
} catch (Exception e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally{
try {
in.close();
out.close();
CheckSocket.close();
} catch (Exception e1) {
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3555 2009-05-10 16:56 论文(终)\javaqq\Catcher.java
文件 733 2009-05-06 17:54 论文(终)\javaqq\CheckIn.java
文件 2725 2009-05-10 16:56 论文(终)\javaqq\GroupChatfr
文件 2908 2006-11-21 18:28 论文(终)\javaqq\icon.gif
文件 2908 2006-11-21 18:28 论文(终)\javaqq\image\icon.gif
文件 16739 2006-11-18 17:38 论文(终)\javaqq\image\notice.jpg
文件 15499 2006-11-17 12:29 论文(终)\javaqq\image\pic.jpg
文件 12655 2006-11-17 23:41 论文(终)\javaqq\image\QQBG01.gif
目录 0 2010-03-29 16:59 论文(终)\javaqq\image
文件 1104 2009-05-10 16:56 论文(终)\javaqq\Listener.java
文件 2131 2009-05-10 21:15 论文(终)\javaqq\Loadingfr
文件 136 2009-05-06 17:54 论文(终)\javaqq\Loadingfr
文件 1660 2009-05-06 17:54 论文(终)\javaqq\Logon.java
文件 4605 2009-05-10 16:59 论文(终)\javaqq\MainChatfr
文件 16739 2006-11-18 17:38 论文(终)\javaqq\notice.jpg
文件 15499 2006-11-17 12:29 论文(终)\javaqq\pic.jpg
文件 12655 2006-11-17 23:41 论文(终)\javaqq\QQBG01.gif
文件 46960 2003-03-16 23:24 论文(终)\javaqq\sound\bell.WAV
文件 4825 1998-10-29 17:43 论文(终)\javaqq\sound\Global.wav
文件 33166 2003-03-17 07:07 论文(终)\javaqq\sound\reMsg.wav
文件 3461 2001-08-21 19:23 论文(终)\javaqq\sound\system.wav
目录 0 2009-06-10 13:44 论文(终)\javaqq\sound
文件 4772 2009-05-10 16:56 论文(终)\javaqq\Statefr
文件 985 2009-05-06 17:54 论文(终)\javaqq\TCPConnect.java
文件 375 2009-05-06 17:54 论文(终)\javaqq\UserInfo.java
文件 29515 2006-11-23 20:20 论文(终)\javaqq\状态界面.jpg
文件 51800 2006-11-23 20:17 论文(终)\javaqq\登录界面.jpg
文件 54476 2006-11-23 20:23 论文(终)\javaqq\群聊窗口.jpg
文件 50634 2006-11-23 20:22 论文(终)\javaqq\聊天窗口.jpg
目录 0 2009-06-10 13:44 论文(终)\javaqq
............此处省略7个文件信息
- 上一篇:JavaQQ即时通信系统C/S模式
- 下一篇:毕业设计选题系统JSP+MySQL
相关资源
- 毕业设计选题系统JSP+MySQL
- JavaQQ即时通信系统C/S模式
- 龟兔赛跑JAVA小程序
- javaweb ssm 项目数据脚本
- Java实现套打快递单
- java操作word,可以随意操作书签
- KWIC 三种架构风格的JAVA实现及文档
- 企业人事管理系统含数据库Java+MySQL
- java课程设计---迷宫问题详解
- mysql-connector-java-5.1.12-bin.jar
- java版摩天大楼诺基亚手机里的
- 课程设计 日历记事本 java
- java 山寨qq 聊天工具基于mvc三层架构,
- java仿qq2012适合初学者
- 河工大 java实验课程资源 代码及实验
- JAVA通过网络调用网络打印机的工具类
- 模拟文件系统Java版
- JAVA实现多元一次方程组的算法
- JAVA人事管理系统
- java调用cplex必须的jar包:cplex.jar
- 基于J2SE的南京公交查询系统含公交线
- java画图小程序源码
- java 毕业论文外文文献翻译
- jspjava版日历日程xgcalendar比fullcalenda
- JAVA登录窗口完整源代码
- 五子棋程序
- java基础习题
- java控制台实现课程表
- 汽车信息管理系统
- JAVA串口助手接收数据并解析数据存入
评论
共有 条评论