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


Java Net.checkAddress方法代码示例

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


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

示例1: sendFromNativeBuffer

import sun.nio.ch.Net; //导入方法依赖的package包/类
private int sendFromNativeBuffer(int fd,
                                 ByteBuffer bb,
                                 SocketAddress target,
                                 int assocId,
                                 int streamNumber,
                                 boolean unordered,
                                 int ppid)
        throws IOException {
    InetAddress addr = null;     // no preferred address
    int port = 0;
    if (target != null) {
        InetSocketAddress isa = Net.checkAddress(target);
        addr = isa.getAddress();
        port = isa.getPort();
    }
    int pos = bb.position();
    int lim = bb.limit();
    assert (pos <= lim);
    int rem = (pos <= lim ? lim - pos : 0);

    int written = send0(fd, ((DirectBuffer)bb).address() + pos, rem, addr,
                        port, assocId, streamNumber, unordered, ppid);
    if (written > 0)
        bb.position(pos + written);
    return written;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:27,代码来源:SctpMultiChannelImpl.java

示例2: bind

import sun.nio.ch.Net; //导入方法依赖的package包/类
/**
 * Binds the channel's socket to a local address.
 */
@Override
public SctpChannel bind(SocketAddress local) throws IOException {
    synchronized (receiveLock) {
        synchronized (sendLock) {
            synchronized (stateLock) {
                ensureOpenAndUnconnected();
                if (isBound())
                    SctpNet.throwAlreadyBoundException();
                InetSocketAddress isa = (local == null) ?
                    new InetSocketAddress(0) : Net.checkAddress(local);
                SecurityManager sm = System.getSecurityManager();
                if (sm != null) {
                    sm.checkListen(isa.getPort());
                }
                Net.bind(fd, isa.getAddress(), isa.getPort());
                InetSocketAddress boundIsa = Net.localAddress(fd);
                port = boundIsa.getPort();
                localAddresses.add(isa);
                if (isa.getAddress().isAnyLocalAddress())
                    wildcard = true;
            }
        }
    }
    return this;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:29,代码来源:SctpChannelImpl.java

示例3: sendFromNativeBuffer

import sun.nio.ch.Net; //导入方法依赖的package包/类
private int sendFromNativeBuffer(int fd,
                                 ByteBuffer bb,
                                 SocketAddress target,
                                 int streamNumber,
                                 boolean unordered,
                                 int ppid)
        throws IOException {
    InetAddress addr = null;     // no preferred address
    int port = 0;
    if (target != null) {
        InetSocketAddress isa = Net.checkAddress(target);
        addr = isa.getAddress();
        port = isa.getPort();
    }

    int pos = bb.position();
    int lim = bb.limit();
    assert (pos <= lim);
    int rem = (pos <= lim ? lim - pos : 0);

    int written = send0(fd, ((DirectBuffer)bb).address() + pos, rem, addr,
                        port, -1 /*121*/, streamNumber, unordered, ppid);
    if (written > 0)
        bb.position(pos + written);
    return written;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:27,代码来源:SctpChannelImpl.java

示例4: bind

import sun.nio.ch.Net; //导入方法依赖的package包/类
@Override
public SctpMultiChannel bind(SocketAddress local, int backlog)
        throws IOException {
    synchronized (receiveLock) {
        synchronized (sendLock) {
            synchronized (stateLock) {
                ensureOpen();
                if (isBound())
                    SctpNet.throwAlreadyBoundException();
                InetSocketAddress isa = (local == null) ?
                    new InetSocketAddress(0) : Net.checkAddress(local);

                SecurityManager sm = System.getSecurityManager();
                if (sm != null)
                    sm.checkListen(isa.getPort());
                Net.bind(fd, isa.getAddress(), isa.getPort());

                InetSocketAddress boundIsa = Net.localAddress(fd);
                port = boundIsa.getPort();
                localAddresses.add(isa);
                if (isa.getAddress().isAnyLocalAddress())
                    wildcard = true;

                SctpNet.listen(fdVal, backlog < 1 ? 50 : backlog);
            }
        }
    }
    return this;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:30,代码来源:SctpMultiChannelImpl.java

示例5: bind

import sun.nio.ch.Net; //导入方法依赖的package包/类
@Override
public SctpServerChannel bind(SocketAddress local, int backlog)
        throws IOException {
    synchronized (lock) {
        synchronized (stateLock) {
            if (!isOpen())
                throw new ClosedChannelException();
            if (isBound())
                SctpNet.throwAlreadyBoundException();

            InetSocketAddress isa = (local == null) ?
                new InetSocketAddress(0) : Net.checkAddress(local);
            SecurityManager sm = System.getSecurityManager();
            if (sm != null)
                sm.checkListen(isa.getPort());
            Net.bind(fd, isa.getAddress(), isa.getPort());

            InetSocketAddress boundIsa = Net.localAddress(fd);
            port = boundIsa.getPort();
            localAddresses.add(isa);
                if (isa.getAddress().isAnyLocalAddress())
                    wildcard = true;

            SctpNet.listen(fdVal, backlog < 1 ? 50 : backlog);
        }
    }
    return this;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:29,代码来源:SctpServerChannelImpl.java

示例6: setSocketOption

import sun.nio.ch.Net; //导入方法依赖的package包/类
static <T> void setSocketOption(int fd,
                                SctpSocketOption<T> name,
                                T value,
                                int assocId)
        throws IOException {
    if (value == null)
        throw new IllegalArgumentException("Invalid option value");

    if (name.equals(SCTP_INIT_MAXSTREAMS)) {
        InitMaxStreams maxStreamValue = (InitMaxStreams)value;
        SctpNet.setInitMsgOption0(fd,
             maxStreamValue.maxInStreams(), maxStreamValue.maxOutStreams());
    } else if (name.equals(SCTP_PRIMARY_ADDR) ||
               name.equals(SCTP_SET_PEER_PRIMARY_ADDR)) {

        SocketAddress addr  = (SocketAddress) value;
        if (addr == null)
            throw new IllegalArgumentException("Invalid option value");

        Net.checkAddress(addr);
        InetSocketAddress netAddr = (InetSocketAddress)addr;

        if (name.equals(SCTP_PRIMARY_ADDR)) {
            setPrimAddrOption0(fd,
                               assocId,
                               netAddr.getAddress(),
                               netAddr.getPort());
        } else {
            setPeerPrimAddrOption0(fd,
                                   assocId,
                                   netAddr.getAddress(),
                                   netAddr.getPort(),
                                   IPv4MappedAddresses());
        }
    } else if (name.equals(SCTP_DISABLE_FRAGMENTS) ||
        name.equals(SCTP_EXPLICIT_COMPLETE) ||
        name.equals(SCTP_FRAGMENT_INTERLEAVE) ||
        name.equals(SCTP_NODELAY) ||
        name.equals(SO_SNDBUF) ||
        name.equals(SO_RCVBUF) ||
        name.equals(SO_LINGER)) {
        setIntOption(fd, name, value);
    } else {
        throw new AssertionError("Unknown socket option");
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:47,代码来源:SctpNet.java


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