91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 734KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-23
  • 語言: 其他
  • 標簽: 課程設計??P2P??

資源簡介

廣東工業大學計算機網絡課程設計——p2p程序。包含課程設計報告。可以拿優!

資源截圖

代碼片段和文件信息

package?com.sam.controller;

import?java.io.*;
import?java.net.*;
import?java.util.*;

import?org.json.*;

import?com.sam.utils.ConstantValue;
import?com.sam.utils.Utils;

public?class?Broadcast
{
private?ReceiveMessageListener?receiveBroadcastListener;

private?String?localName;
private?String?localIp;

public?Broadcast(String?localName?String?localIp)
{
super();
this.localName?=?localName;
this.localIp?=?localIp;
}

/**
?*?發送廣播
?*?@param?type?發送消息的類型
?*/
public?void?send(String?type)
{
DatagramSocket?socket?=?null;
try
{
JSONobject?jsonobject?=?new?JSONobject();
jsonobject.put(ConstantValue.TYPE?type);
jsonobject.put(ConstantValue.NAME?localName);
jsonobject.put(ConstantValue.IP?localIp);
byte[]?msg?=?jsonobject.toString().getBytes();
InetAddress?inetAddr?=?InetAddress.getByName(“255.255.255.255“);
socket?=?new?DatagramSocket();
DatagramPacket?packet?=?new?DatagramPacket(msg?msg.length?inetAddr?3333);
socket.send(packet);

System.out.println(“send?broadcast->“?+?new?String(packet.getData()));
}
catch?(IOException?e)
{
e.printStackTrace();
}
finally
{
if?(socket?!=?null)
socket.close();
}
}

/**
?*?開啟線程隨時接收廣播
?*/
public?void?receive()
{
new?Thread(new?Runnable()
{
@Override
public?void?run()
{
DatagramSocket?socket?=?null;
try
{
DatagramPacket?packet?=?new?DatagramPacket(new?byte[1024]?1024);
socket?=?new?DatagramSocket(3333);
while?(true)
{
System.out.println(“receive?broadcast?begin“);

socket.receive(packet);
byte[]?recvByte?=?Arrays.copyOfRange(packet.getData()?0?packet.getLength());
String?json?=?new?String(recvByte);
JSONobject?jsonobject?=?new?JSONobject(json);
String?type?=?jsonobject.getString(ConstantValue.TYPE);
String?name?=?jsonobject.getString(ConstantValue.NAME);
String?ip?=?jsonobject.getString(ConstantValue.IP);

if?(!localIp.equals(ip)?&&?receiveBroadcastListener?!=?null)
{
String?msg?=?Utils.HostToString(name?ip);
if?(type.equals(ConstantValue.TYPE_OFFLINE))
{
receiveBroadcastListener.contactsOffline(msg);
}
else
{
receiveBroadcastListener.contactsOnline(msg);

if?(type.equals(ConstantValue.TYPE_ONLINE))
responseToBroadcast(ip);
}
}

System.out.println(“receive?broadcast:?msg->“?+?json);
}
}
catch?(SocketException?e)
{
e.printStackTrace();
}
catch?(IOException?e)
{
e.printStackTrace();
}
finally
{
if?(socket?!=?null)
socket.close();
}
}
}).start();
}

/**
?*?回應對等方的上線廣播
?*?@param?ip?本地的ip地址
?*/
private?void?responseToBroadcast(String?ip)
{
DatagramSocket?socket?=?null;
try

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????168395??2017-06-27?21:26??P2P(可執行文件).jar
?????文件??????422500??2018-02-01?12:14??課設報告.docx
?????目錄???????????0??2017-06-27?21:31??P2P\
?????文件?????????388??2017-05-28?00:09??P2P\.classpath
?????文件?????????379??2017-06-27?21:24??P2P\.project
?????目錄???????????0??2017-06-27?21:25??P2P\.settings\
?????文件?????????598??2017-05-28?00:08??P2P\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-06-27?21:25??P2P\bin\
?????目錄???????????0??2017-06-27?21:25??P2P\bin\com\
?????目錄???????????0??2017-06-27?21:25??P2P\bin\com\sam\
?????目錄???????????0??2017-06-27?21:25??P2P\bin\com\sam\controller\
?????文件????????2962??2017-06-27?21:24??P2P\bin\com\sam\controller\Broadcast$1.class
?????文件?????????306??2017-06-27?21:24??P2P\bin\com\sam\controller\Broadcast$ReceiveMessageListener.class
?????文件????????3981??2017-06-27?21:24??P2P\bin\com\sam\controller\Broadcast.class
?????文件?????????255??2017-06-27?21:24??P2P\bin\com\sam\controller\FileClient$FileSendingListener.class
?????文件????????3019??2017-06-27?21:24??P2P\bin\com\sam\controller\FileClient.class
?????文件????????3071??2017-06-27?21:24??P2P\bin\com\sam\controller\FileServer$1.class
?????文件????????1399??2017-06-27?21:24??P2P\bin\com\sam\controller\FileServer.class
?????文件????????1627??2017-06-27?21:24??P2P\bin\com\sam\controller\Main$1.class
?????文件????????1017??2017-06-27?21:24??P2P\bin\com\sam\controller\Main$2.class
?????文件????????1033??2017-06-27?21:24??P2P\bin\com\sam\controller\Main$3.class
?????文件????????5181??2017-06-27?21:24??P2P\bin\com\sam\controller\Main.class
?????文件????????3054??2017-06-27?21:24??P2P\bin\com\sam\controller\MessageClient.class
?????文件????????2046??2017-06-27?21:24??P2P\bin\com\sam\controller\MessageServer$1$1.class
?????文件????????1460??2017-06-27?21:24??P2P\bin\com\sam\controller\MessageServer$1.class
?????文件?????????292??2017-06-27?21:24??P2P\bin\com\sam\controller\MessageServer$ServerInputListener.class
?????文件????????2802??2017-06-27?21:24??P2P\bin\com\sam\controller\MessageServer.class
?????目錄???????????0??2017-06-27?21:25??P2P\bin\com\sam\utils\
?????文件????????1022??2017-06-27?21:24??P2P\bin\com\sam\utils\ConstantValue.class
?????文件????????1187??2017-06-27?21:24??P2P\bin\com\sam\utils\Utils.class
?????目錄???????????0??2017-06-27?21:25??P2P\bin\com\sam\view\
............此處省略43個文件信息

評論

共有 條評論