📄 peergroupdemo.java
字号:
//PeerGroupDemo.java
import net.jxta.j2me.*;
import java.io.IOException;
import javax.microedition.midlet.MIDlet;
public class PeerGroupDemo extends MIDlet
{
private PeerNetwork peerNetwork;
public PeerGroupDemo()
{
try {
peerNetwork = peerNetwork.createInstance ("JxmeTestPeer");
//You can change Relay_URL address from localhost to your own.
byte[] persistentState = peerNetwork.connect ("http://localhost:9700", null);
System.out.println(">>> connected to relay.. ");
String groupId = createPeerGroup("JxmeTestGroup");
String searchedGroupId = searchPeerGroup("JxmeTestGroup");
String joinRequestOk = joinPeerGroup(searchedGroupId);
}
catch (IOException ie) {
ie.printStackTrace ();
}
}
public String createPeerGroup(String groupName)
{
String newGroupId = null;
try
{
/***Step 1***/
int messageID = peerNetwork.create (PeerNetwork.GROUP, groupName, null, null);
System.out.println(">>> creating peer group... ");
/***Step 2***/
Message msg = peerNetwork.poll (5000);
/***Step 3***/
if (msg == null)
return null;
/***Step 4***/
newGroupId = processMessage(msg, messageID, "success");
System.out.println(">>> new peergroup id : "+newGroupId);
}
catch (IOException ie) {
ie.printStackTrace ();
}
return newGroupId;
}
public String searchPeerGroup(String groupName)
{
String newGroupId = null;
try
{
/***Step 1***/
int messageID = peerNetwork.search (PeerNetwork.GROUP, "Name", groupName, 1);
System.out.println(">>> group search requet id : "+messageID);
/***Step 2***/
Message msg = peerNetwork.poll (5000);
/***Step 3***/
if (msg == null)
return null;
/***Step 4***/
newGroupId = processMessage(msg, messageID, "result");
System.out.println(">>> searched peergroup id : "+newGroupId);
}
catch (IOException ie) {
ie.printStackTrace ();
}
return newGroupId;
}
public String joinPeerGroup(String groupId)
{
String joinOk = null;
try
{
/***Step 1***/
int messageID = peerNetwork.join (groupId, null);
System.out.println(">>> join peerGroup request.. " );
/***Step 2***/
Message msg = peerNetwork.poll (5000);
/***Step 3***/
if (msg == null)
return null;
/***Step 4***/
joinOk = processMessage(msg, messageID, "success");
System.out.println(">>> join peergroup request succeeded.. ");
}
catch (IOException ie) {
ie.printStackTrace ();
}
return joinOk;
}
private String processMessage (Message msg, int reqId, String successCriterion)
{
int requestIdentifierInResponse = 0;
String searchedResourceIdentifier = null;
String responseString = null;
try
{
/***Step 1***/
for (int j=0; j < msg.getElementCount(); j++) {
/***Step 2***/
Element e = msg.getElement(j);
/***Step 3***/
if ((e.getNameSpace()).equals("proxy")) {
if ((e.getName()).equals("requestId"))
requestIdentifierInResponse = Integer.parseInt(new String(e.getData()));
else if ((e.getName()).equals("response"))
responseString = new String (e.getData());
else if ((e.getName()).equals("id"))
searchedResourceIdentifier = new String (e.getData());
}
} //for (int j=0;)
/***Step 4***/
if (requestIdentifierInResponse == reqId) {
/***Step 5***/
if (responseString.equals (successCriterion)) {
if (searchedResourceIdentifier != null)
/***Step 6***/
return searchedResourceIdentifier;
else
/***Step 7***/
return responseString;
}
}//if (requestIdentifierInResponse == reqId)
}
catch(NumberFormatException ne){
ne.printStackTrace();
}
return null;
}
public void startApp() {
}
protected void pauseApp() {
}
protected void destroyApp(boolean unconditional){
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -