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

  • 大小: 8KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-13
  • 語言: Java
  • 標簽: Java??P2P??UDP??點對點??NAT??

資源簡介

Java P2P聊天服務端源碼,通過NAT打洞技術,借助P2P服務端,采用客戶端程序可以實現客戶端點對點通訊

資源截圖

代碼片段和文件信息

/**
?*?MainServer.java?Nov?23?2009
?*?
?*?Copyright?2009?xwz?Inc.?All?rights?reserved.
?*/
package?xwz.p2p.upd.server;

import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;
import?java.net.SocketException;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Timer;

import?xwz.p2p.upd.util.ConnectionClientInfo;
import?xwz.p2p.upd.util.MyProtocol;
import?xwz.p2p.upd.util.StringUtil;

/**
?*?@author?xwz
?*?@version?1.0?Nov?23?2009?11:04:50?PM
?*/
public?class?MainServer?{
//?所有客戶端列表
private?static?List?allClients?=?new?ArrayList();
private?static?DatagramSocket?ds?=?null;?
private?static?P2PSrvframe?p2pframe?=?new?P2PSrvframe();
private?static?MainServer?mainServer?=?new?MainServer();
private?static?Timer?submitTimer?=?new?Timer();

//?開始P2P交換服務(程序起點)
public?static?void?StartP2PServiveChanege()?throws?IOException?{
byte[]?buf?=?new?byte[1024];
DatagramPacket?p?=?new?DatagramPacket(buf?1024);

ds.receive(p);

//?取出信息
String?content?=?new?String(p.getData()?0?p.getLength());
String?ip?=?p.getAddress().getHostAddress();
int?port?=?p.getPort();

//?輸出接收到的數據
if?(!content.startsWith(MyProtocol.HEART))?{
System.out.println(ip?+?“:“?+?port?+?“?>>>>?“?+?content);
}

//?處理控制部分委托給其他方法做
if?(content.startsWith(MyProtocol.LOGIN))?{
dealLogin(ds?p?content);
}?else?if?(content.startsWith(MyProtocol.HEART))?{
dealHeart(ds?p?content);
}?else?if?(content.startsWith(MyProtocol.WANT_TO_CONNECT))?{
notifyPunchHole(ds?p?content);
}?else?if?(content.startsWith(MyProtocol.SUCCESS_HOLE_TO))?{
notifyPunchHoleSuccess(ds?p?content);
}?else?{
dealOther(ds?p?content);
}
}

//?處理登陸請求
private?static?void?dealLogin(DatagramSocket?ds?DatagramPacket?pString?content)?{
ConnectionClientInfo?c?=?new?ConnectionClientInfo();

String[]?clientLogin?=?StringUtil.splitString(contentMyProtocol.SPLITOR);
System.out.println(“clientLogin?“?+?clientLogin.length);
c.setNickname(clientLogin[1]);
c.setIp(p.getAddress().getHostAddress());
c.setPort(p.getPort());
allClients.add(c);

//?獲取所有客戶端連接成字符串
String?listStr?=?MyProtocol.LIST_ONLINE?+?MyProtocol.SPLITOR?+?serialList();
System.out.println(listStr);

for?(ConnectionClientInfo?cif?:?allClients)?{
try?{
DatagramPacket?p2?=?new?DatagramPacket(listStr.getBytes()?listStr.getBytes().length?InetAddress.getByName(cif.getIp())?cif.getPort());
ds.send(p2);
}?catch?(IOException?e)?{
e.printStackTrace();
}

}




}

//?把列表數據序列化
private?static?String?serialList()?{
String?str?=?““;

for?(ConnectionClientInfo?cif?:?allClients)?{
String?nickname?=?cif.getNickname();
String?ip?=?cif.getIp();
int?port?=?cif.getPort();
String?one?=?ip?+?““?+?port?+?““?+?nickname?+?MyProtocol.SPLITOR;

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????358??2010-02-04?17:25??p2pserver\.classpath

?????文件????????385??2010-02-04?17:20??p2pserver\.project

?????文件???????5629??2010-02-22?17:31??p2pserver\src\xwz\p2p\upd\server\MainServer.java

?????文件????????846??2010-02-08?16:15??p2pserver\src\xwz\p2p\upd\server\P2PServerThread.java

?????文件???????8622??2010-02-05?10:28??p2pserver\src\xwz\p2p\upd\server\P2PSrvframe.form

?????文件???????5722??2010-02-05?10:28??p2pserver\src\xwz\p2p\upd\server\P2PSrvframe.java

?????目錄??????????0??2010-02-23?09:02??p2pserver\src\xwz\p2p\upd\server

?????文件????????691??2010-02-04?17:21??p2pserver\src\xwz\p2p\upd\util\ConnectionClientInfo.java

?????文件???????1684??2010-02-04?17:21??p2pserver\src\xwz\p2p\upd\util\MyProtocol.java

?????文件????????589??2010-02-04?17:21??p2pserver\src\xwz\p2p\upd\util\StringUtil.java

?????目錄??????????0??2010-02-23?09:02??p2pserver\src\xwz\p2p\upd\util

?????目錄??????????0??2010-02-23?09:02??p2pserver\src\xwz\p2p\upd

?????目錄??????????0??2010-02-23?09:02??p2pserver\src\xwz\p2p

?????目錄??????????0??2010-02-23?09:02??p2pserver\src\xwz

?????目錄??????????0??2010-02-23?09:02??p2pserver\src

?????目錄??????????0??2010-02-23?09:03??p2pserver

-----------?---------??----------?-----??----

????????????????24526????????????????????16


評論

共有 條評論