List of usage examples for java.net ServerSocket ServerSocket
public ServerSocket(int port) throws IOException
From source file:ca.uhn.hl7v2.testpanel.controller.Controller.java
/** * Provide a random, currently unused port *//*from w w w .java 2 s .c o m*/ private int provideRandomPort() { ServerSocket server; try { server = new ServerSocket(0); int port = server.getLocalPort(); server.close(); return port; } catch (IOException e) { throw new Error(e); } }
From source file:com.raddle.tools.ClipboardTransferMain.java
public synchronized void startServer() { if (!clipServerStartBtn.isEnabled()) { return;/*from w w w . java 2s .c om*/ } try { final int port = Integer.parseInt(portTxt.getText()); Thread t = new Thread() { @Override public void run() { try { // ,??????? Thread.sleep(200); server = new ServerSocket(port); // clipServerStartBtn.setEnabled(false); clipServerStopBtn.setEnabled(true); portTxt.setEnabled(false); tostop = false; while (!tostop) { Socket client = server.accept(); if (!tostop) { CommandReceiveThread t = new CommandReceiveThread(client); t.start(); } } server.close(); Thread.sleep(200); clipServerStartBtn.setEnabled(true); clipServerStopBtn.setEnabled(false); portTxt.setEnabled(true); } catch (Exception e) { throw new RuntimeException(e.getMessage(), e); } } }; t.start(); } catch (NumberFormatException e) { updateMessage("??:" + e.getMessage()); } }
From source file:atg.tools.dynunit.nucleus.NucleusUtils.java
/** * This method returns a free port number on the current machine. There is * some chance that the port number could be taken by the time the caller * actually gets around to using it.//from w w w. j a v a 2 s . com * <p/> * This method returns -9999 if it's not able to find a port. */ public static int findFreePort() { ServerSocket socket = null; int freePort = -9999; try { socket = new ServerSocket(0); freePort = socket.getLocalPort(); } catch (IOException e) { logger.catching(e); } finally { try { if (socket != null) { socket.close(); } } catch (IOException e) { logger.catching(e); } } return freePort; }
From source file:com.web.server.WebServer.java
/** * This is the start of the all the services in web server * @param args//from w w w . j a v a 2s . c o m * @throws IOException * @throws SAXException */ public static void main(String[] args) throws IOException, SAXException { Hashtable urlClassLoaderMap = new Hashtable(); Hashtable executorServicesMap = new Hashtable(); Hashtable ataMap = new Hashtable<String, ATAConfig>(); Hashtable messagingClassMap = new Hashtable(); ConcurrentHashMap servletMapping = new ConcurrentHashMap(); DigesterLoader serverdigesterLoader = DigesterLoader.newLoader(new FromXmlRulesModule() { protected void loadRules() { // TODO Auto-generated method stub try { loadXMLRules(new InputSource(new FileInputStream("./config/serverconfig-rules.xml"))); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); Digester serverdigester = serverdigesterLoader.newDigester(); final ServerConfig serverconfig = (ServerConfig) serverdigester .parse(new InputSource(new FileInputStream("./config/serverconfig.xml"))); DigesterLoader messagingdigesterLoader = DigesterLoader.newLoader(new FromXmlRulesModule() { protected void loadRules() { // TODO Auto-generated method stub try { loadXMLRules(new InputSource(new FileInputStream("./config/messagingconfig-rules.xml"))); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); Digester messagingdigester = messagingdigesterLoader.newDigester(); MessagingElem messagingconfig = (MessagingElem) messagingdigester .parse(new InputSource(new FileInputStream("./config/messaging.xml"))); //System.out.println(messagingconfig); ////System.out.println(serverconfig.getDeploydirectory()); PropertyConfigurator.configure("log4j.properties"); /*MemcachedClient cache=new MemcachedClient( new InetSocketAddress("localhost", 1000));*/ // Store a value (async) for one hour //c.set("someKey", 36, new String("arun")); // Retrieve a value. System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory"); System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming"); ExecutorService executor = java.util.concurrent.Executors.newCachedThreadPool(); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName name = null; try { name = new ObjectName("com.web.server:type=WarDeployer"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } WarDeployer warDeployer = new WarDeployer(serverconfig.getDeploydirectory(), serverconfig.getFarmWarDir(), serverconfig.getClustergroup(), urlClassLoaderMap, executorServicesMap, messagingClassMap, servletMapping, messagingconfig, sessionObjects); warDeployer.setPriority(MIN_PRIORITY); try { mbs.registerMBean(warDeployer, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //warDeployer.start(); executor.execute(warDeployer); ServerSocketChannel serverSocketChannel = ServerSocketChannel.open(); serverSocketChannel.bind(new InetSocketAddress("0.0.0.0", Integer.parseInt(serverconfig.getPort()))); serverSocketChannel.configureBlocking(false); final byte[] shutdownBt = new byte[50]; WebServerRequestProcessor webserverRequestProcessor = new WebServer().new WebServerRequestProcessor( servletMapping, urlClassLoaderMap, serverSocketChannel, serverconfig.getDeploydirectory(), Integer.parseInt(serverconfig.getShutdownport()), 1); webserverRequestProcessor.setPriority(MIN_PRIORITY); try { name = new ObjectName("com.web.server:type=WebServerRequestProcessor"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(webserverRequestProcessor, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //webserverRequestProcessor.start(); executor.execute(webserverRequestProcessor); for (int i = 0; i < 10; i++) { WebServerRequestProcessor webserverRequestProcessor1 = new WebServer().new WebServerRequestProcessor( servletMapping, urlClassLoaderMap, serverSocketChannel, serverconfig.getDeploydirectory(), Integer.parseInt(serverconfig.getShutdownport()), 2); webserverRequestProcessor1.setPriority(MIN_PRIORITY); try { name = new ObjectName("com.web.server:type=WebServerRequestProcessor" + (i + 1)); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(webserverRequestProcessor1, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } executor.execute(webserverRequestProcessor1); } ServerSocketChannel serverSocketChannelServices = ServerSocketChannel.open(); serverSocketChannelServices .bind(new InetSocketAddress("0.0.0.0", Integer.parseInt(serverconfig.getServicesport()))); serverSocketChannelServices.configureBlocking(false); ExecutorServiceThread executorService = new ExecutorServiceThread(serverSocketChannelServices, executorServicesMap, Integer.parseInt(serverconfig.getShutdownport()), ataMap, urlClassLoaderMap, serverconfig.getDeploydirectory(), serverconfig.getServicesdirectory(), serverconfig.getEarservicesdirectory(), serverconfig.getNodesport()); try { name = new ObjectName("com.web.services:type=ExecutorServiceThread"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(executorService, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //executorService.start(); executor.execute(executorService); for (int i = 0; i < 10; i++) { ExecutorServiceThread executorService1 = new ExecutorServiceThread(serverSocketChannelServices, executorServicesMap, Integer.parseInt(serverconfig.getShutdownport()), ataMap, urlClassLoaderMap, serverconfig.getDeploydirectory(), serverconfig.getServicesdirectory(), serverconfig.getEarservicesdirectory(), serverconfig.getNodesport()); try { name = new ObjectName("com.web.services:type=ExecutorServiceThread" + (i + 1)); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(executorService1, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } executor.execute(executorService1); } WebServerHttpsRequestProcessor webserverHttpsRequestProcessor = new WebServer().new WebServerHttpsRequestProcessor( servletMapping, urlClassLoaderMap, Integer.parseInt(serverconfig.getHttpsport()), serverconfig.getDeploydirectory(), Integer.parseInt(serverconfig.getShutdownport()), serverconfig.getHttpscertificatepath(), serverconfig.getHttpscertificatepasscode(), 1); try { name = new ObjectName("com.web.server:type=WebServerHttpsRequestProcessor"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(webserverHttpsRequestProcessor, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } webserverHttpsRequestProcessor.setPriority(MAX_PRIORITY); //webserverRequestProcessor.start(); executor.execute(webserverHttpsRequestProcessor); /* for(int i=0;i<2;i++){ webserverHttpsRequestProcessor=new WebServer().new WebServerHttpsRequestProcessor(urlClassLoaderMap,Integer.parseInt(serverconfig.getHttpsport())+(i+1),serverconfig.getDeploydirectory(),Integer.parseInt(serverconfig.getShutdownport()),serverconfig.getHttpscertificatepath(),serverconfig.getHttpscertificatepasscode(),1); try { name = new ObjectName("com.web.server:type=WebServerHttpsRequestProcessor"+(i+1)); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(webserverHttpsRequestProcessor, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } executor.execute(webserverHttpsRequestProcessor); }*/ /*ATAServer ataServer=new ATAServer(serverconfig.getAtaaddress(),serverconfig.getAtaport(),ataMap); try { name = new ObjectName("com.web.services:type=ATAServer"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(ataServer, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } ataServer.start();*/ /*ATAConfigClient ataClient=new ATAConfigClient(serverconfig.getAtaaddress(),serverconfig.getAtaport(),serverconfig.getServicesport(),executorServicesMap); try { name = new ObjectName("com.web.services:type=ATAConfigClient"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(ataClient, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } ataClient.start();*/ MessagingServer messageServer = new MessagingServer(serverconfig.getMessageport(), messagingClassMap); try { name = new ObjectName("com.web.messaging:type=MessagingServer"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(messageServer, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //messageServer.start(); executor.execute(messageServer); RandomQueueMessagePicker randomqueuemessagepicker = new RandomQueueMessagePicker(messagingClassMap); try { name = new ObjectName("com.web.messaging:type=RandomQueueMessagePicker"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(randomqueuemessagepicker, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //randomqueuemessagepicker.start(); executor.execute(randomqueuemessagepicker); RoundRobinQueueMessagePicker roundrobinqueuemessagepicker = new RoundRobinQueueMessagePicker( messagingClassMap); try { name = new ObjectName("com.web.messaging:type=RoundRobinQueueMessagePicker"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(roundrobinqueuemessagepicker, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //roundrobinqueuemessagepicker.start(); executor.execute(roundrobinqueuemessagepicker); TopicMessagePicker topicpicker = new TopicMessagePicker(messagingClassMap); try { name = new ObjectName("com.web.messaging:type=TopicMessagePicker"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(topicpicker, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //topicpicker.start(); executor.execute(topicpicker); try { name = new ObjectName("com.web.server:type=SARDeployer"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } SARDeployer sarDeployer = SARDeployer.newInstance(serverconfig.getDeploydirectory()); try { mbs.registerMBean(sarDeployer, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } executor.execute(sarDeployer); /*try { mbs.invoke(name, "startDeployer", null, null); } catch (InstanceNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (ReflectionException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (MBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } */ System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory"); System.setProperty(Context.PROVIDER_URL, "rmi://localhost:" + serverconfig.getServicesregistryport()); ; Registry registry = LocateRegistry.createRegistry(Integer.parseInt(serverconfig.getServicesregistryport())); /*JarDeployer jarDeployer=new JarDeployer(registry,serverconfig.getServicesdirectory(), serverconfig.getServiceslibdirectory(),serverconfig.getCachedir(),executorServicesMap, urlClassLoaderMap); try { name = new ObjectName("com.web.server:type=JarDeployer"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(jarDeployer, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //jarDeployer.start(); executor.execute(jarDeployer);*/ EARDeployer earDeployer = new EARDeployer(registry, serverconfig.getEarservicesdirectory(), serverconfig.getDeploydirectory(), executorServicesMap, urlClassLoaderMap, serverconfig.getCachedir(), warDeployer); try { name = new ObjectName("com.web.server:type=EARDeployer"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(earDeployer, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //earDeployer.start(); executor.execute(earDeployer); JVMConsole jvmConsole = new JVMConsole(Integer.parseInt(serverconfig.getJvmConsolePort())); try { name = new ObjectName("com.web.server:type=JVMConsole"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(jvmConsole, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } executor.execute(jvmConsole); ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor(); XMLDeploymentScanner xmlDeploymentScanner = new XMLDeploymentScanner(serverconfig.getDeploydirectory(), serverconfig.getServiceslibdirectory()); exec.scheduleAtFixedRate(xmlDeploymentScanner, 0, 1000, TimeUnit.MILLISECONDS); EmbeddedJMS embeddedJMS = null; try { embeddedJMS = new EmbeddedJMS(); embeddedJMS.start(); } catch (Exception ex) { // TODO Auto-generated catch block ex.printStackTrace(); } EJBDeployer ejbDeployer = new EJBDeployer(serverconfig.getServicesdirectory(), registry, Integer.parseInt(serverconfig.getServicesregistryport()), embeddedJMS); try { name = new ObjectName("com.web.server:type=EJBDeployer"); } catch (MalformedObjectNameException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { mbs.registerMBean(ejbDeployer, name); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //jarDeployer.start(); executor.execute(ejbDeployer); new Thread() { public void run() { try { ServerSocket serverSocket = new ServerSocket(Integer.parseInt(serverconfig.getShutdownport())); while (true) { Socket sock = serverSocket.accept(); InputStream istream = sock.getInputStream(); istream.read(shutdownBt); String shutdownStr = new String(shutdownBt); String[] shutdownToken = shutdownStr.split("\r\n\r\n"); //System.out.println(shutdownStr); if (shutdownToken[0].startsWith("shutdown WebServer")) { synchronized (shutDownObject) { shutDownObject.notifyAll(); } } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }.start(); Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { public void run() { System.out.println("IN shutdown Hook"); synchronized (shutDownObject) { shutDownObject.notifyAll(); } } })); try { synchronized (shutDownObject) { shutDownObject.wait(); } executor.shutdownNow(); serverSocketChannel.close(); serverSocketChannelServices.close(); embeddedJMS.stop(); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } System.out.println("IN shutdown Hook1"); /*try{ Thread.sleep(10000); } catch(Exception ex){ }*/ //webserverRequestProcessor.stop(); //webserverRequestProcessor1.stop(); /*warDeployer.stop(); executorService.stop(); //ataServer.stop(); //ataClient.stop(); messageServer.stop(); randomqueuemessagepicker.stop(); roundrobinqueuemessagepicker.stop(); topicpicker.stop();*/ /*try { mbs.invoke(new ObjectName("com.web.server:type=SARDeployer"), "destroyDeployer", null, null); } catch (InstanceNotFoundException | MalformedObjectNameException | ReflectionException | MBeanException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ //earDeployer.stop(); System.exit(0); }
From source file:edu.caltechUcla.sselCassel.projects.jMarkets.server.control.DispatchServ.java
/** TCP: This method opens up a ServerSocket at the given port then starts a thread that waits * for TCPMonitorReceivers to attempt to connect. Each connecting TCPMonitorReceiver creates an * individual Socket connection, which is then attached to a TCPMonitorTransmitter. The MonitorServ * uses the transmitter to communicate with the receiver, which in turn manipulates the monitor. *//* w w w . j av a 2 s. c om*/ private int activateTCPMonitorTunnel(int port) { try { log.info("DispatchServ is creating a TCP ServerSocket on port " + port + " for use in server-monitor communication"); servSock = new ServerSocket(port); Runnable registrar = new Runnable() { public void run() { while (!stopRegThread) { try { monitorSocket = servSock.accept(); log.debug( "Communication socket accepted from new monitor, opening input/output streams..."); ObjectInputStream inputStream = new ObjectInputStream(monitorSocket.getInputStream()); ObjectOutputStream outputStream = new ObjectOutputStream( monitorSocket.getOutputStream()); outputStream.flush(); log.debug("Input stream opened, reading session ID from connecting monitor"); int sessionId = inputStream.readInt(); log.debug("Session ID " + sessionId + " read from new monitor socket, pairing TCP receiver with a transmitter"); MonitorTransmitter transmitter = new TCPMonitorTransmitter(monitorSocket, inputStream, outputStream); registerMonitorTransmitter(transmitter, sessionId); } catch (Exception e) { log.warn( "Error while accepting a monitor socket connection -- returning to 'waiting for accept' state", e); System.out.println( "Error while accepting a monitor socket connection -- returning to 'waiting for accept' state"); e.printStackTrace(); continue; } } /*log.error("exited while loop"); try{ monitorSocket.close(); } catch( IOException ioe ){ log.warn("Error while trying to close monitorSocket"); ioe.printStackTrace(); }*/ } }; registrationThread = new Thread(registrar); registrationThread.setDaemon(true); registrationThread.start(); return port; } catch (Exception re) { log.error("Error activating ServerSocket for use in TCP monitor communication", re); return OPERATION_FAILED; } }
From source file:com.buaa.cfs.utils.NetUtils.java
/** * Return a free port number. There is no guarantee it will remain free, so it should be used immediately. * * @returns A free port for binding a local socket *//*from w ww .jav a2 s . c o m*/ public static int getFreeSocketPort() { int port = 0; try { ServerSocket s = new ServerSocket(0); port = s.getLocalPort(); s.close(); return port; } catch (IOException e) { // Could not get a free port. Return default port 0. } return port; }
From source file:org.apache.synapse.transport.passthru.core.PassThroughListeningIOReactorManager.java
/** * Function to wait and verify iteratively whether port is successfully closed, till timeout reaches * * @param port target port//from ww w .j a va 2 s . c o m * @param portCloseVerifyTimeout iterative verification timeout * @return */ private boolean isPortCloseSuccess(int port, int portCloseVerifyTimeout) { boolean portCloseSuccess = false; for (int i = 0; i < portCloseVerifyTimeout; i++) { try { if (log.isDebugEnabled()) { log.debug("Verify port [" + port + "] close status. Attempt: " + i); } //Try to bind ServerSocket to port and verify whether port is successfully closed ServerSocket srv = new ServerSocket(port); srv.close(); srv = null; //If reach here, port close successful portCloseSuccess = true; break; } catch (IOException e) { if (log.isDebugEnabled()) { log.debug("The port " + port + " is not closed yet, verify again after waiting 1s", e); } try { Thread.sleep(1000); } catch (InterruptedException interruptException) { //log and ignore } } } return portCloseSuccess; }
From source file:com.entertailion.java.fling.FlingFrame.java
protected void vlcTranscode(final String file) { // Transcoding does not support jumps isTranscoding = true;/* w w w. java 2s . c o m*/ // http://caprica.github.io/vlcj/javadoc/2.1.0/index.html try { // clean up previous session if (mediaPlayer != null) { mediaPlayer.release(); } if (mediaPlayerFactory != null) { mediaPlayerFactory.release(); } mediaPlayerFactory = new MediaPlayerFactory(); mediaPlayer = mediaPlayerFactory.newHeadlessMediaPlayer(); // Add a component to be notified of player events mediaPlayer.addMediaPlayerEventListener(new MediaPlayerEventAdapter() { public void opening(MediaPlayer mediaPlayer) { Log.d(LOG_TAG, "VLC Transcoding: Opening"); } public void buffering(MediaPlayer mediaPlayer, float newCache) { Log.d(LOG_TAG, "VLC Transcoding: Buffering"); } public void playing(MediaPlayer mediaPlayer) { Log.d(LOG_TAG, "VLC Transcoding: Playing"); setDuration((int) (mediaPlayer.getLength() / 1000.0f)); Log.d(LOG_TAG, "duration=" + duration); } public void paused(MediaPlayer mediaPlayer) { Log.d(LOG_TAG, "VLC Transcoding: Paused"); } public void stopped(MediaPlayer mediaPlayer) { Log.d(LOG_TAG, "VLC Transcoding: Stopped"); } public void finished(MediaPlayer mediaPlayer) { Log.d(LOG_TAG, "VLC Transcoding: Finished"); } public void error(MediaPlayer mediaPlayer) { Log.d(LOG_TAG, "VLC Transcoding: Error"); } public void videoOutput(MediaPlayer mediaPlayer, int newCount) { Log.d(LOG_TAG, "VLC Transcoding: VideoOutput"); } }); // Find a port for VLC HTTP server boolean started = false; int vlcPort = port + 1; while (!started) { try { ServerSocket serverSocket = new ServerSocket(vlcPort); Log.d(LOG_TAG, "Available port for VLC: " + vlcPort); started = true; serverSocket.close(); } catch (IOException ioe) { ioe.printStackTrace(); vlcPort++; } catch (Exception ex) { break; } } if (!rampClient.isClosed()) { rampClient.stop(); } Inet4Address address = getNetworAddress(); if (address != null) { // Play a particular item, with options if necessary final String options[] = { ":sout=#transcode{" + transcodingParameterValues + "}:http{mux=webm,dst=:" + vlcPort + "/cast.webm}", ":sout-keep" }; // http://192.168.0.8:8087/cast.webm final String url = "http://" + address.getHostAddress() + ":" + vlcPort + "/cast.webm"; Log.d(LOG_TAG, "url=" + url); if (true || isChromeCast()) { rampClient.launchApp(appId == null ? APP_ID : appId, selectedDialServer); // wait for socket to be ready... new Thread(new Runnable() { public void run() { while (!rampClient.isStarted() && !rampClient.isClosed()) { try { Thread.sleep(500); } catch (InterruptedException e) { } } if (!rampClient.isClosed()) { mediaPlayer.playMedia(file, options); rampClient.load(url); } } }).start(); } else { rampClient.load(url); } } else { Log.d(LOG_TAG, "could not find a network interface"); } } catch (Throwable e) { Log.e(LOG_TAG, "vlcTranscode: " + file, e); } }
From source file:org.eclipse.aether.transport.http.HttpTransporterTest.java
@Test(timeout = 1000L) public void testRequestTimeout() throws Exception { session.setConfigProperty(ConfigurationProperties.REQUEST_TIMEOUT, 100); ServerSocket server = new ServerSocket(0); newTransporter("http://localhost:" + server.getLocalPort()); try {/* w w w . j a v a 2s . c o m*/ try { transporter.get(new GetTask(URI.create("repo/file.txt"))); fail("Expected error"); } catch (SocketTimeoutException e) { assertEquals(Transporter.ERROR_OTHER, transporter.classify(e)); } } finally { server.close(); } }
From source file:de.stklcode.jvault.connector.HTTPVaultConnectorTest.java
/** * Find and return a free TCP port.//w w w . ja v a2s.c o m * * @return port number */ private static Integer getFreePort() { ServerSocket socket = null; try { socket = new ServerSocket(0); socket.setReuseAddress(true); int port = socket.getLocalPort(); try { socket.close(); } catch (IOException e) { // Ignore IOException on close() } return port; } catch (IOException e) { e.printStackTrace(); } finally { if (socket != null) { try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } throw new IllegalStateException("Unable to find a free TCP port."); }