|
Smack | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jivesoftware.smackx.filetransfer.StreamNegotiator
org.jivesoftware.smackx.filetransfer.Socks5TransferNegotiator
public class Socks5TransferNegotiator
A SOCKS5 bytestream is negotiated partly over the XMPP XML stream and partly over a seperate socket. The actual transfer though takes place over a seperatly created socket.
A SOCKS5 file transfer generally has three parites, the initiator, the target, and the stream host. The stream host is a specialized SOCKS5 proxy setup on the server, or, the Initiator can act as the Stream Host if the proxy is not available. The advantage of having a seperate proxy over directly connecting to eachother is if the Initator and the Target are not on the same LAN and are operating behind NAT, the proxy allows for a common location for both parties to connect to and transfer the file. Smack will attempt to automatically discover any proxies present on your server. If any are detected they will be forwarded to any user attempting to recieve files from you.
| Field Summary | |
|---|---|
static boolean |
isAllowLocalProxyHost
|
protected static String |
NAMESPACE
|
| Constructor Summary | |
|---|---|
Socks5TransferNegotiator(Socks5TransferNegotiatorManager transferNegotiatorManager,
XMPPConnection connection)
|
|
| Method Summary | |
|---|---|
void |
cleanup()
Cleanup any and all resources associated with this negotiator. |
InputStream |
createIncomingStream(StreamInitiation initiation)
This method handles the file stream download negotiation process. |
OutputStream |
createOutgoingStream(String streamID,
String initiator,
String target)
This method handles the file upload stream negotiation process. |
PacketFilter |
getInitiationPacketFilter(String from,
String sessionID)
Returns the packet filter that will return the initiation packet for the appropriate stream initiation. |
String[] |
getNamespaces()
Returns the XMPP namespace reserved for this particular type of file transfer. |
| Methods inherited from class org.jivesoftware.smackx.filetransfer.StreamNegotiator |
|---|
createError, createInitiationAccept |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final String NAMESPACE
public static boolean isAllowLocalProxyHost
| Constructor Detail |
|---|
public Socks5TransferNegotiator(Socks5TransferNegotiatorManager transferNegotiatorManager,
XMPPConnection connection)
| Method Detail |
|---|
public PacketFilter getInitiationPacketFilter(String from,
String sessionID)
StreamNegotiator
getInitiationPacketFilter in class StreamNegotiatorfrom - The initiatior of the file transfer.sessionID - The stream ID related to the transfer.
public InputStream createIncomingStream(StreamInitiation initiation)
throws XMPPException
StreamNegotiator
createIncomingStream in class StreamNegotiatorinitiation - The initation that triggered this download.
XMPPException - If an error occurs during this process an XMPPException is
thrown.
public OutputStream createOutgoingStream(String streamID,
String initiator,
String target)
throws XMPPException
StreamNegotiator
createOutgoingStream in class StreamNegotiatorstreamID - The streamID that uniquely identifies the file transfer.initiator - The fully-qualified JID of the initiator of the file transfer.target - The fully-qualified JID of the target or reciever of the file
transfer.
XMPPException - If an error occurs during the negotiation process an
exception will be thrown.public String[] getNamespaces()
StreamNegotiator
getNamespaces in class StreamNegotiatorpublic void cleanup()
StreamNegotiator
cleanup in class StreamNegotiator
|
Smack | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||