• 大小: 518KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Java
  • 标签: java  毕业设计  

资源简介

我自己的做的本科毕业设计+毕业论文 以下是部分摘要: 随着互联网的发展,网络聊天工具作为一种交流工具,已经受到网民的青睐。目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯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\GroupChatframe.java

     文件       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\Loadingframe.java

     文件        136  2009-05-06 17:54  论文(终)\javaqq\LoadingframeDemo.java

     文件       1660  2009-05-06 17:54  论文(终)\javaqq\Logon.java

     文件       4605  2009-05-10 16:59  论文(终)\javaqq\MainChatframe.java

     文件      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\Stateframe.java

     文件        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个文件信息

评论

共有 条评论