java.net.ServerSocket.setReuseAddress()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(292)

本文整理了Java中java.net.ServerSocket.setReuseAddress()方法的一些代码示例,展示了ServerSocket.setReuseAddress()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ServerSocket.setReuseAddress()方法的具体详情如下:
包路径:java.net.ServerSocket
类名称:ServerSocket
方法名:setReuseAddress

ServerSocket.setReuseAddress介绍

[英]Sets the value for the socket option SocketOptions.SO_REUSEADDR.
[中]设置套接字选项SocketOptions的值。所以!。

代码示例

代码示例来源:origin: Alluxio/alluxio

  1. private static boolean isLocalPortAvailable(int port) {
  2. try (ServerSocket socket = new ServerSocket(port)) {
  3. socket.setReuseAddress(true);
  4. return true;
  5. } catch (IOException e) {
  6. return false;
  7. }
  8. }
  9. }

代码示例来源:origin: apache/rocketmq

  1. /**
  2. * Starts listening to slave connections.
  3. *
  4. * @throws Exception If fails.
  5. */
  6. public void beginAccept() throws Exception {
  7. this.serverSocketChannel = ServerSocketChannel.open();
  8. this.selector = RemotingUtil.openSelector();
  9. this.serverSocketChannel.socket().setReuseAddress(true);
  10. this.serverSocketChannel.socket().bind(this.socketAddressListen);
  11. this.serverSocketChannel.configureBlocking(false);
  12. this.serverSocketChannel.register(this.selector, SelectionKey.OP_ACCEPT);
  13. }

代码示例来源:origin: libgdx/libgdx

  1. public NetJavaServerSocketImpl (Protocol protocol, String hostname, int port, ServerSocketHints hints) {
  2. this.protocol = protocol;
  3. // create the server socket
  4. try {
  5. // initialize
  6. server = new java.net.ServerSocket();
  7. if (hints != null) {
  8. server.setPerformancePreferences(hints.performancePrefConnectionTime, hints.performancePrefLatency,
  9. hints.performancePrefBandwidth);
  10. server.setReuseAddress(hints.reuseAddress);
  11. server.setSoTimeout(hints.acceptTimeout);
  12. server.setReceiveBufferSize(hints.receiveBufferSize);
  13. }
  14. // and bind the server...
  15. InetSocketAddress address;
  16. if( hostname != null ) {
  17. address = new InetSocketAddress(hostname, port);
  18. } else {
  19. address = new InetSocketAddress(port);
  20. }
  21. if (hints != null) {
  22. server.bind(address, hints.backlog);
  23. } else {
  24. server.bind(address);
  25. }
  26. } catch (Exception e) {
  27. throw new GdxRuntimeException("Cannot create a server socket at port " + port + ".", e);
  28. }
  29. }

代码示例来源:origin: go-lang-plugin-org/go-lang-idea-plugin

  1. private static int findFreePort() {
  2. try(ServerSocket socket = new ServerSocket(0)) {
  3. socket.setReuseAddress(true);
  4. return socket.getLocalPort();
  5. }
  6. catch (Exception ignore) {
  7. }
  8. throw new IllegalStateException("Could not find a free TCP/IP port to start dlv");
  9. }
  10. }

代码示例来源:origin: libgdx/libgdx

  1. public NetJavaServerSocketImpl (Protocol protocol, String hostname, int port, ServerSocketHints hints) {
  2. this.protocol = protocol;
  3. // create the server socket
  4. try {
  5. // initialize
  6. server = new java.net.ServerSocket();
  7. if (hints != null) {
  8. server.setPerformancePreferences(hints.performancePrefConnectionTime, hints.performancePrefLatency,
  9. hints.performancePrefBandwidth);
  10. server.setReuseAddress(hints.reuseAddress);
  11. server.setSoTimeout(hints.acceptTimeout);
  12. server.setReceiveBufferSize(hints.receiveBufferSize);
  13. }
  14. // and bind the server...
  15. InetSocketAddress address;
  16. if( hostname != null ) {
  17. address = new InetSocketAddress(hostname, port);
  18. } else {
  19. address = new InetSocketAddress(port);
  20. }
  21. if (hints != null) {
  22. server.bind(address, hints.backlog);
  23. } else {
  24. server.bind(address);
  25. }
  26. } catch (Exception e) {
  27. throw new GdxRuntimeException("Cannot create a server socket at port " + port + ".", e);
  28. }
  29. }

代码示例来源:origin: square/okhttp

  1. serverSocket = serverSocketFactory.createServerSocket();
  2. serverSocket.setReuseAddress(inetSocketAddress.getPort() != 0);
  3. serverSocket.bind(inetSocketAddress, 50);

代码示例来源:origin: ballerina-platform/ballerina-lang

  1. private static int findFreePort() {
  2. try (ServerSocket socket = new ServerSocket(0)) {
  3. socket.setReuseAddress(true);
  4. return socket.getLocalPort();
  5. } catch (Exception ignore) {
  6. }
  7. throw new IllegalStateException("Could not find a free TCP/IP port to start debugging");
  8. }
  9. }

代码示例来源:origin: apache/geode

  1. try {
  2. server = new ServerSocket();
  3. server.setReuseAddress(true);
  4. if (addr != null) {
  5. server.bind(new InetSocketAddress(addr, port));
  6. } else {
  7. server.bind(new InetSocketAddress(port));

代码示例来源:origin: kilim/kilim

  1. ListenTask(int port) throws IOException {
  2. this.port = port;
  3. this.ssc = ServerSocketChannel.open();
  4. ssc.socket().setReuseAddress(true);
  5. ssc.socket().bind(new InetSocketAddress(port), LISTEN_BACKLOG);
  6. ssc.configureBlocking(false);
  7. endpoint = new EndPoint(NioSelectorScheduler.this,ssc);
  8. // if port is automatically assigned then retrieve actual value
  9. if(port == 0) {
  10. this.port = ssc.socket().getLocalPort();
  11. };
  12. }

代码示例来源:origin: alibaba/Sentinel

  1. /**
  2. * Get a server socket from an available port from a base port.<br>
  3. * Increasing on port number will occur when the port has already been used.
  4. *
  5. * @param basePort base port to start
  6. * @return new socket with available port
  7. */
  8. private static ServerSocket getServerSocketFromBasePort(int basePort) {
  9. int tryCount = 0;
  10. while (true) {
  11. try {
  12. ServerSocket server = new ServerSocket(basePort + tryCount / 3, 100);
  13. server.setReuseAddress(true);
  14. return server;
  15. } catch (IOException e) {
  16. tryCount++;
  17. try {
  18. TimeUnit.MILLISECONDS.sleep(30);
  19. } catch (InterruptedException e1) {
  20. break;
  21. }
  22. }
  23. }
  24. return null;
  25. }

代码示例来源:origin: apache/usergrid

  1. ss = new ServerSocket();
  2. ss.setReuseAddress( true );
  3. ss.bind(new InetSocketAddress((InetAddress) null, port), 0);

代码示例来源:origin: org.apache.zookeeper/zookeeper

  1. @Override
  2. public void configure(InetSocketAddress addr, int maxcc) throws IOException {
  3. configureSaslLogin();
  4. thread = new ZooKeeperThread(this, "NIOServerCxn.Factory:" + addr);
  5. thread.setDaemon(true);
  6. maxClientCnxns = maxcc;
  7. this.ss = ServerSocketChannel.open();
  8. ss.socket().setReuseAddress(true);
  9. LOG.info("binding to port " + addr);
  10. ss.socket().bind(addr);
  11. ss.configureBlocking(false);
  12. ss.register(selector, SelectionKey.OP_ACCEPT);
  13. }

代码示例来源:origin: wildfly/wildfly

  1. protected static int getNextTCPPort(InetAddress bind_addr, int start_port) throws Exception {
  2. try(ServerSocket sock=new ServerSocket()) {
  3. sock.setReuseAddress(false);
  4. Util.bind(sock, bind_addr, start_port, start_port+100);
  5. return sock.getLocalPort();
  6. }
  7. }

代码示例来源:origin: org.apache.zookeeper/zookeeper

  1. while((!shutdown) && (numRetries < 3)){
  2. try {
  3. ss = new ServerSocket();
  4. ss.setReuseAddress(true);
  5. if (listenOnAllIPs) {
  6. int port = view.get(QuorumCnxManager.this.mySid)
  7. setName(view.get(QuorumCnxManager.this.mySid)
  8. .electionAddr.toString());
  9. ss.bind(addr);
  10. while (!shutdown) {
  11. Socket client = ss.accept();

代码示例来源:origin: peter-lawrey/Java-Chronicle

  1. public InProcessChronicleSource(@NotNull Chronicle chronicle, int port) throws IOException {
  2. this.chronicle = chronicle;
  3. server = ServerSocketChannel.open();
  4. server.socket().setReuseAddress(true);
  5. server.socket().bind(new InetSocketAddress(port));
  6. name = chronicle.name() + "@" + port;
  7. logger = Logger.getLogger(getClass().getName() + "." + name);
  8. service = Executors.newCachedThreadPool(new NamedThreadFactory(name));
  9. service.execute(new Acceptor());
  10. }

代码示例来源:origin: oblac/jodd

  1. /**
  2. * Starts HTTP tunnel. Method ends when the tunnel is stopped.
  3. */
  4. public void start() throws IOException {
  5. serverSocket = new ServerSocket(listenPort, socketBacklog);
  6. serverSocket.setReuseAddress(true);
  7. executorService = Executors.newFixedThreadPool(threadPoolSize);
  8. running = true;
  9. while (running) {
  10. Socket socket = serverSocket.accept();
  11. socket.setKeepAlive(false);
  12. executorService.execute(onSocketConnection(socket));
  13. }
  14. executorService.shutdown();
  15. }

代码示例来源:origin: pentaho/pentaho-kettle

  1. private ServerSocket createServerSocket( int port ) throws IOException {
  2. ServerSocket serverSocket = new ServerSocket();
  3. serverSocket.setPerformancePreferences( 1, 2, 3 ); // order of importance: bandwidth, latency, connection time
  4. serverSocket.setReuseAddress( true );
  5. serverSocket.bind( new InetSocketAddress( port ) );
  6. } catch ( BindException e ) {
  7. long totalWait = 0L;
  8. + port + " after a " + ( totalWait / 1000 ) + " seconds wait..." );
  9. Thread.sleep( 10000 ); // wait 10 seconds, try again...
  10. serverSocket.bind( new InetSocketAddress( port ), 100 );
  11. } catch ( IOException ioe ) {
  12. ioException = ioe;

代码示例来源:origin: apache/zookeeper

  1. @Override
  2. public void reconfigure(InetSocketAddress addr) {
  3. ServerSocketChannel oldSS = ss;
  4. try {
  5. acceptThread.setReconfiguring();
  6. tryClose(oldSS);
  7. acceptThread.wakeupSelector();
  8. try {
  9. acceptThread.join();
  10. } catch (InterruptedException e) {
  11. LOG.error("Error joining old acceptThread when reconfiguring client port {}",
  12. e.getMessage());
  13. Thread.currentThread().interrupt();
  14. }
  15. this.ss = ServerSocketChannel.open();
  16. ss.socket().setReuseAddress(true);
  17. LOG.info("binding to port " + addr);
  18. ss.socket().bind(addr);
  19. ss.configureBlocking(false);
  20. acceptThread = new AcceptThread(ss, addr, selectorThreads);
  21. acceptThread.start();
  22. } catch(IOException e) {
  23. LOG.error("Error reconfiguring client port to {} {}", addr, e.getMessage());
  24. tryClose(oldSS);
  25. }
  26. }

代码示例来源:origin: ltsopensource/light-task-scheduler

  1. private ServerSocket getServerSocket() throws IOException {
  2. ServerSocket serverSocket = null;
  3. try {
  4. serverSocket = new ServerSocket(port, 100);
  5. serverSocket.setReuseAddress(true);
  6. } catch (BindException e) {
  7. port = port + 1;
  8. serverSocket = getServerSocket();
  9. if (portFindTimes++ > 50) {
  10. throw e;
  11. }
  12. }
  13. return serverSocket;
  14. }

代码示例来源:origin: org.apache.lucene/lucene-core

  1. final int maxClients = Integer.parseInt(args[arg++]);
  2. try (final ServerSocket s = new ServerSocket()) {
  3. s.setReuseAddress(true);
  4. s.setSoTimeout(30000); // initially 30 secs to give clients enough time to startup
  5. s.bind(new InetSocketAddress(hostname, 0));
  6. final InetSocketAddress localAddr = (InetSocketAddress) s.getLocalSocketAddress();
  7. System.out.println("Listening on " + localAddr + "...");

相关文章