当前位置: 首页>>代码示例>>Java>>正文


Java StreamInitiation.setMimeType方法代码示例

本文整理汇总了Java中org.jivesoftware.smackx.packet.StreamInitiation.setMimeType方法的典型用法代码示例。如果您正苦于以下问题:Java StreamInitiation.setMimeType方法的具体用法?Java StreamInitiation.setMimeType怎么用?Java StreamInitiation.setMimeType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jivesoftware.smackx.packet.StreamInitiation的用法示例。


在下文中一共展示了StreamInitiation.setMimeType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: negotiateOutgoingTransfer

import org.jivesoftware.smackx.packet.StreamInitiation; //导入方法依赖的package包/类
/**
 * Send a request to another user to send them a file. The other user has
 * the option of, accepting, rejecting, or not responding to a received file
 * transfer request.
 * <p/>
 * If they accept, the packet will contain the other user's chosen stream
 * type to send the file across. The two choices this implementation
 * provides to the other user for file transfer are <a
 * href="http://www.jabber.org/jeps/jep-0065.html">SOCKS5 Bytestreams</a>,
 * which is the preferred method of transfer, and <a
 * href="http://www.jabber.org/jeps/jep-0047.html">In-Band Bytestreams</a>,
 * which is the fallback mechanism.
 * <p/>
 * The other user may choose to decline the file request if they do not
 * desire the file, their client does not support JEP-0096, or if there are
 * no acceptable means to transfer the file.
 * <p/>
 * Finally, if the other user does not respond this method will return null
 * after the specified timeout.
 * 
 * @param userID
 *            The userID of the user to whom the file will be sent.
 * @param streamID
 *            The unique identifier for this file transfer.
 * @param fileName
 *            The name of this file. Preferably it should include an
 *            extension as it is used to determine what type of file it is.
 * @param size
 *            The size, in bytes, of the file.
 * @param desc
 *            A description of the file.
 * @param responseTimeout
 *            The amount of time, in milliseconds, to wait for the remote
 *            user to respond. If they do not respond in time, this
 * @return Returns the stream negotiator selected by the peer.
 * @throws XMPPException
 *             Thrown if there is an error negotiating the file transfer.
 */
public StreamNegotiator negotiateOutgoingTransfer(final String userID,
		final String streamID, final String fileName, final long size,
		final String desc, int responseTimeout) throws XMPPException {
	StreamInitiation si = new StreamInitiation();
	si.setSesssionID(streamID);
	si.setMimeType(URLConnection.guessContentTypeFromName(fileName));

	StreamInitiation.File siFile = new StreamInitiation.File(fileName, size);
	siFile.setDesc(desc);
	si.setFile(siFile);

	si.setFeatureNegotiationForm(createDefaultInitiationForm());

	si.setFrom(connection.getUser());
	si.setTo(userID);
	si.setType(IQ.Type.SET);

	PacketCollector collector = connection
			.createPacketCollector(new PacketIDFilter(si.getPacketID()));
	connection.sendPacket(si);
	Packet siResponse = collector.nextResult(responseTimeout);
	collector.cancel();

	if (siResponse instanceof IQ) {
		IQ iqResponse = (IQ) siResponse;
		if (iqResponse.getType().equals(IQ.Type.RESULT)) {
			StreamInitiation response = (StreamInitiation) siResponse;
			return getOutgoingNegotiator(getStreamMethodField(response
					.getFeatureNegotiationForm()));

		} else if (iqResponse.getType().equals(IQ.Type.ERROR)) {
			throw new XMPPException(iqResponse.getError());
		} else {
			throw new XMPPException("File transfer response unreadable");
		}
	} else {
		return null;
	}
}
 
开发者ID:ikantech,项目名称:xmppsupport_v2,代码行数:78,代码来源:FileTransferNegotiator.java

示例2: negotiateOutgoingTransfer

import org.jivesoftware.smackx.packet.StreamInitiation; //导入方法依赖的package包/类
/**
 * Send a request to another user to send them a file. The other user has
 * the option of, accepting, rejecting, or not responding to a received file
 * transfer request.
 * <p/>
 * If they accept, the packet will contain the other user's chosen stream
 * type to send the file across. The two choices this implementation
 * provides to the other user for file transfer are <a
 * href="http://www.jabber.org/jeps/jep-0065.html">SOCKS5 Bytestreams</a>,
 * which is the preferred method of transfer, and <a
 * href="http://www.jabber.org/jeps/jep-0047.html">In-Band Bytestreams</a>,
 * which is the fallback mechanism.
 * <p/>
 * The other user may choose to decline the file request if they do not
 * desire the file, their client does not support JEP-0096, or if there are
 * no acceptable means to transfer the file.
 * <p/>
 * Finally, if the other user does not respond this method will return null
 * after the specified timeout.
 *
 * @param userID          The userID of the user to whom the file will be sent.
 * @param streamID        The unique identifier for this file transfer.
 * @param fileName        The name of this file. Preferably it should include an
 *                        extension as it is used to determine what type of file it is.
 * @param size            The size, in bytes, of the file.
 * @param desc            A description of the file.
 * @param responseTimeout The amount of time, in milliseconds, to wait for the remote
 *                        user to respond. If they do not respond in time, this
 * @return Returns the stream negotiator selected by the peer.
 * @throws XMPPException Thrown if there is an error negotiating the file transfer.
 */
public StreamNegotiator negotiateOutgoingTransfer(final String userID,
        final String streamID, final String fileName, final long size,
        final String desc, int responseTimeout) throws XMPPException {
    StreamInitiation si = new StreamInitiation();
    si.setSesssionID(streamID);
    si.setMimeType(URLConnection.guessContentTypeFromName(fileName));

    StreamInitiation.File siFile = new StreamInitiation.File(fileName, size);
    siFile.setDesc(desc);
    si.setFile(siFile);

    si.setFeatureNegotiationForm(createDefaultInitiationForm());

    si.setFrom(connection.getUser());
    si.setTo(userID);
    si.setType(IQ.Type.SET);

    PacketCollector collector = connection
            .createPacketCollector(new PacketIDFilter(si.getPacketID()));
    connection.sendPacket(si);
    Packet siResponse = collector.nextResult(responseTimeout);
    collector.cancel();

    if (siResponse instanceof IQ) {
        IQ iqResponse = (IQ) siResponse;
        if (iqResponse.getType().equals(IQ.Type.RESULT)) {
            StreamInitiation response = (StreamInitiation) siResponse;
            return getOutgoingNegotiator(getStreamMethodField(response
                    .getFeatureNegotiationForm()));

        }
        else if (iqResponse.getType().equals(IQ.Type.ERROR)) {
            throw new XMPPException(iqResponse.getError());
        }
        else {
            throw new XMPPException("File transfer response unreadable");
        }
    }
    else {
        return null;
    }
}
 
开发者ID:ice-coffee,项目名称:EIM,代码行数:74,代码来源:FileTransferNegotiator.java

示例3: negotiateOutgoingTransfer

import org.jivesoftware.smackx.packet.StreamInitiation; //导入方法依赖的package包/类
/**
 * Send a request to another user to send them a file. The other user has
 * the option of, accepting, rejecting, or not responding to a received file
 * transfer request.
 * <p/>
 * If they accept, the packet will contain the other user's choosen stream
 * type to send the file across. The two choices this implementation
 * provides to the other user for file transfer are <a
 * href="http://www.jabber.org/jeps/jep-0065.html">SOCKS5 Bytestreams</a>,
 * which is the prefered method of transfer, and <a
 * href="http://www.jabber.org/jeps/jep-0047.html">In-Band Bytestreams</a>,
 * which is the fallback mechanism.
 * <p/>
 * The other user may choose to decline the file request if they do not
 * desire the file, their client does not support JEP-0096, or if there are
 * no acceptable means to transfer the file.
 * <p/>
 * Finally, if the other user does not respond this method will return null
 * after the specified timeout.
 *
 * @param userID          The userID of the user to whom the file will be sent.
 * @param streamID        The unique identifier for this file transfer.
 * @param fileName        The name of this file. Preferably it should include an
 *                        extension as it is used to determine what type of file it is.
 * @param size            The size, in bytes, of the file.
 * @param desc            A description of the file.
 * @param responseTimeout The amount of time, in milliseconds, to wait for the remote
 *                        user to respond. If they do not respond in time, this
 * @return Returns the stream negotiator selected by the peer.
 * @throws XMPPException Thrown if there is an error negotiating the file transfer.
 */
public StreamNegotiator negotiateOutgoingTransfer(final String userID,
        final String streamID, final String fileName, final long size,
        final String desc, int responseTimeout) throws XMPPException {
    StreamInitiation si = new StreamInitiation();
    si.setSesssionID(streamID);
    si.setMimeType(URLConnection.guessContentTypeFromName(fileName));

    StreamInitiation.File siFile = new StreamInitiation.File(fileName, size);
    siFile.setDesc(desc);
    si.setFile(siFile);

    si.setFeatureNegotiationForm(createDefaultInitiationForm());

    si.setFrom(connection.getUser());
    si.setTo(userID);
    si.setType(IQ.Type.SET);

    PacketCollector collector = connection
            .createPacketCollector(new PacketIDFilter(si.getPacketID()));
    connection.sendPacket(si);
    Packet siResponse = collector.nextResult(responseTimeout);
    collector.cancel();

    if (siResponse instanceof IQ) {
        IQ iqResponse = (IQ) siResponse;
        if (iqResponse.getType().equals(IQ.Type.RESULT)) {
            StreamInitiation response = (StreamInitiation) siResponse;
            return getOutgoingNegotiator(getStreamMethodField(response
                    .getFeatureNegotiationForm()));

        }
        else if (iqResponse.getType().equals(IQ.Type.ERROR)) {
            throw new XMPPException(iqResponse.getError());
        }
        else {
            throw new XMPPException("File transfer response unreadable");
        }
    }
    else {
        return null;
    }
}
 
开发者ID:phoenixNirvana,项目名称:NewCommunication-Android,代码行数:74,代码来源:FileTransferNegotiator.java


注:本文中的org.jivesoftware.smackx.packet.StreamInitiation.setMimeType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。