?? connectionserver.java
字號:
package connex.core.net;
import net.jxta.protocol.*;
import net.jxta.peergroup.*;
import connex.core.WS.Workspace;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author Hisham Khalil <a
* HREF="mailto:hishberlin@hotmail.com">hishberlin@hotmail.com</a>
* @version 1.0
*/
public class ConnectionServer extends Thread {
/**
* @directed
* @supplierRole create
* @supplierCardinality 0..*
* @clientCardinality 1
*/
private MemberConnection socSes;
/**
* @directed*/
private MyServerSocket jSS = null;
/**
* @directed
*/
private MySocket socket = null;
private PipeAdvertisement pipeAdv = null;
private boolean shutdown = false;
/**
* @directed
*/
private ConnectionServerListener clistener;
public ConnectionServer(Workspace ws, ConnectionServerListener clistener) {
this.clistener = clistener;
pipeAdv = PipeUtils.createPipeAdv("ConneXPipe", "ConneXServicePipe");
System.out.println(pipeAdv.toString());
init(ws.getPeerGroup(), pipeAdv
);
}
/**
* creates a JxtaServerSocket object
* @param pg PeerGroup
* @param pAdv PipeAdvertisement
*/
public void init(PeerGroup pg, PipeAdvertisement pAdv) {
try {
jSS = new MyServerSocket(pg, pAdv, 10);
jSS.setSoTimeout(0);
this.start();
} catch (Exception e) {
System.out.println("Server Socket can not be created");
}
}
public void stopServer() {
shutdown = true;
}
public void run() {
System.out.println("starting ServerSocket");
while (!shutdown) {
try {
System.out.println("waiting for connection");
socket = (MySocket) jSS.accept();
if (socket != null) {
socket.setSoTimeout(24 * 60 * 60 * 1000);
socket.setOutputStreamBufferSize(46*1024);
socket.setReceiveBufferSize(46*1024);
socSes = new MemberConnection(socket);
clistener.newConnection(socSes);
//msgSes.startMsgSession();
System.out.println("new Session created :");
}
} catch (Exception e) {
//System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
public String getPipeID() {
return pipeAdv.getID().toString();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -