|
Smack | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
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 StreamNegotiator
from
- 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 StreamNegotiator
initiation
- 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 StreamNegotiator
streamID
- 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 StreamNegotiator
public void cleanup()
StreamNegotiator
cleanup
in class StreamNegotiator
|
Smack | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |