Java Code Examples for java.net.Socket#shutdownOutput()
The following examples show how to use
java.net.Socket#shutdownOutput() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: nifi File: SocketUtils.java License: Apache License 2.0 | 6 votes |
public static void closeQuietly(final Socket socket) { if (socket == null) { return; } try { try { // Can't shutdown input/output individually with secure sockets if (!(socket instanceof SSLSocket)) { if (!socket.isInputShutdown()) { socket.shutdownInput(); } if (!socket.isOutputShutdown()) { socket.shutdownOutput(); } } } finally { if (!socket.isClosed()) { socket.close(); } } } catch (final Exception ex) { logger.debug("Failed to close socket due to: " + ex, ex); } }
Example 2
Source Project: localization_nifi File: SocketUtils.java License: Apache License 2.0 | 6 votes |
public static void closeQuietly(final Socket socket) { if (socket == null) { return; } try { try { // can't shudown input/output individually with secure sockets if ((socket instanceof SSLSocket) == false) { if (socket.isInputShutdown() == false) { socket.shutdownInput(); } if (socket.isOutputShutdown() == false) { socket.shutdownOutput(); } } } finally { if (socket.isClosed() == false) { socket.close(); } } } catch (final Exception ex) { logger.debug("Failed to close socket due to: " + ex, ex); } }
Example 3
Source Project: springboot-shiro-cas-mybatis File: MockWebServer.java License: MIT License | 6 votes |
private void writeResponse(final Socket socket) throws IOException { logger.debug("Socket response for resource {}", resource.getFilename()); final OutputStream out = socket.getOutputStream(); out.write(STATUS_LINE.getBytes()); out.write(header("Content-Length", this.resource.contentLength())); out.write(header("Content-Type", this.contentType)); out.write(SEPARATOR.getBytes()); final byte[] buffer = new byte[BUFFER_SIZE]; try (final InputStream in = this.resource.getInputStream()) { int count = 0; while ((count = in.read(buffer)) > -1) { out.write(buffer, 0, count); } } logger.debug("Wrote response for resource {} for {}", resource.getFilename(), resource.contentLength()); socket.shutdownOutput(); }
Example 4
Source Project: opencron File: Bootstrap.java License: Apache License 2.0 | 6 votes |
/** * * @throws Exception */ public void shutdown() throws Exception { /** * connect to startup socket and send stop command。。。。。。 */ Socket socket = new Socket("localhost",Integer.valueOf(System.getProperty("opencron.shutdown"))); OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(os); InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); pw.write(shutdown); pw.flush(); socket.shutdownOutput(); String reply = null; while (!((reply = br.readLine()) == null)) { logger.info("[opencron]shutdown:{}" + reply); } br.close(); is.close(); pw.close(); os.close(); socket.close(); }
Example 5
Source Project: netty-4.1.22 File: SocketShutdownOutputByPeerTest.java License: Apache License 2.0 | 5 votes |
public void testShutdownOutput(ServerBootstrap sb) throws Throwable { TestHandler h = new TestHandler(); Socket s = new Socket(); Channel sc = null; try { sc = sb.childHandler(h).childOption(ChannelOption.ALLOW_HALF_CLOSURE, true).bind().sync().channel(); SocketUtils.connect(s, sc.localAddress(), 10000); s.getOutputStream().write(1); assertEquals(1, (int) h.queue.take()); assertTrue(h.ch.isOpen()); assertTrue(h.ch.isActive()); assertFalse(h.ch.isInputShutdown()); assertFalse(h.ch.isOutputShutdown()); s.shutdownOutput(); h.halfClosure.await(); assertTrue(h.ch.isOpen()); assertTrue(h.ch.isActive()); assertTrue(h.ch.isInputShutdown()); assertFalse(h.ch.isOutputShutdown()); assertEquals(1, h.closure.getCount()); Thread.sleep(100); assertEquals(1, h.halfClosureCount.intValue()); } finally { if (sc != null) { sc.close(); } s.close(); } }
Example 6
Source Project: netty-4.1.22 File: SocketShutdownOutputByPeerTest.java License: Apache License 2.0 | 5 votes |
public void testShutdownOutputWithoutOption(ServerBootstrap sb) throws Throwable { TestHandler h = new TestHandler(); Socket s = new Socket(); Channel sc = null; try { sc = sb.childHandler(h).bind().sync().channel(); SocketUtils.connect(s, sc.localAddress(), 10000); s.getOutputStream().write(1); assertEquals(1, (int) h.queue.take()); assertTrue(h.ch.isOpen()); assertTrue(h.ch.isActive()); assertFalse(h.ch.isInputShutdown()); assertFalse(h.ch.isOutputShutdown()); s.shutdownOutput(); h.closure.await(); assertFalse(h.ch.isOpen()); assertFalse(h.ch.isActive()); assertTrue(h.ch.isInputShutdown()); assertTrue(h.ch.isOutputShutdown()); assertEquals(1, h.halfClosure.getCount()); Thread.sleep(100); assertEquals(0, h.halfClosureCount.intValue()); } finally { if (sc != null) { sc.close(); } s.close(); } }
Example 7
Source Project: VideoOS-Android-SDK File: HttpProxyCacheServer.java License: GNU General Public License v3.0 | 5 votes |
private void closeSocketOutput(Socket socket) { try { if (!socket.isOutputShutdown()) { socket.shutdownOutput(); } } catch (IOException e) { VenvyLog.w("Failed to close socket on proxy side: {}. It seems client have already closed connection.", e.getMessage()); } }
Example 8
Source Project: AndriodVideoCache File: HttpProxyCacheServer.java License: Apache License 2.0 | 5 votes |
private void closeSocketOutput(Socket socket) { try { if (!socket.isOutputShutdown()) { socket.shutdownOutput(); } } catch (IOException e) { KLog.w("Failed to close socket on proxy side: {}. It seems client have already closed connection.", e.getMessage()); } }
Example 9
Source Project: HaoReader File: HttpProxyCacheServer.java License: GNU General Public License v3.0 | 5 votes |
private void closeSocketOutput(Socket socket) { try { if (!socket.isOutputShutdown()) { socket.shutdownOutput(); } } catch (IOException e) { LOG.warn("Failed to close socket on proxy side: {}. It seems client have already closed connection.", e.getMessage()); } }
Example 10
Source Project: AndroidVideoCache File: HttpProxyCacheServer.java License: Apache License 2.0 | 5 votes |
private void closeSocketOutput(Socket socket) { try { if (!socket.isOutputShutdown()) { socket.shutdownOutput(); } } catch (IOException e) { LOG.warn("Failed to close socket on proxy side: {}. It seems client have already closed connection.", e.getMessage()); } }
Example 11
Source Project: DKVideoPlayer File: HttpProxyCacheServer.java License: Apache License 2.0 | 5 votes |
private void closeSocketOutput(Socket socket) { try { if (!socket.isOutputShutdown()) { socket.shutdownOutput(); } } catch (IOException e) { Logger.warn("Failed to close socket on proxy side: {}. It seems client have already closed connection."); } }
Example 12
Source Project: appengine-java-vm-runtime File: TestSocketServlet.java License: Apache License 2.0 | 5 votes |
private void testShutDownAndClose(HttpServletResponse response) throws UnknownHostException, IOException { Socket socket = new Socket("10.1.1.1", 80); socket.shutdownInput(); socket.shutdownOutput(); socket.close(); }
Example 13
Source Project: kelinci File: Kelinci.java License: Apache License 2.0 | 5 votes |
/** * Method to run in a thread to accept requests coming * in over TCP and put them in a queue. */ private static void runServer() { try (ServerSocket ss = new ServerSocket(port)) { if (verbosity > 1) System.out.println("Server listening on port " + port); while (true) { Socket s = ss.accept(); if (verbosity > 1) System.out.println("Connection established."); boolean status = false; if (requestQueue.size() < maxQueue) { status = requestQueue.offer(new FuzzRequest(s)); if (verbosity > 1) System.out.println("Request added to queue: " + status); } if (!status) { if (verbosity > 1) System.out.println("Queue full."); OutputStream os = s.getOutputStream(); os.write(STATUS_QUEUE_FULL); os.flush(); s.shutdownOutput(); s.shutdownInput(); s.close(); if (verbosity > 1) System.out.println("Connection closed."); } } } catch (BindException be) { System.err.println("Unable to bind to port " + port); System.exit(1); } catch (Exception e) { System.err.println("Exception in request server"); e.printStackTrace(); System.exit(1); } }
Example 14
Source Project: netty4.0.27Learn File: SocketShutdownOutputByPeerTest.java License: Apache License 2.0 | 5 votes |
public void testShutdownOutputWithoutOption(ServerBootstrap sb) throws Throwable { TestHandler h = new TestHandler(); Socket s = new Socket(); try { sb.childHandler(h).bind().sync(); s.connect(addr, 10000); s.getOutputStream().write(1); assertEquals(1, (int) h.queue.take()); assertTrue(h.ch.isOpen()); assertTrue(h.ch.isActive()); assertFalse(h.ch.isInputShutdown()); assertFalse(h.ch.isOutputShutdown()); s.shutdownOutput(); h.closure.await(); assertFalse(h.ch.isOpen()); assertFalse(h.ch.isActive()); assertTrue(h.ch.isInputShutdown()); assertTrue(h.ch.isOutputShutdown()); assertEquals(1, h.halfClosure.getCount()); Thread.sleep(100); assertEquals(0, h.halfClosureCount.intValue()); } finally { s.close(); } }
Example 15
Source Project: netty4.0.27Learn File: SocketShutdownOutputByPeerTest.java License: Apache License 2.0 | 5 votes |
public void testShutdownOutput(ServerBootstrap sb) throws Throwable { TestHandler h = new TestHandler(); Socket s = new Socket(); try { sb.childHandler(h).childOption(ChannelOption.ALLOW_HALF_CLOSURE, true).bind().sync(); s.connect(addr, 10000); s.getOutputStream().write(1); assertEquals(1, (int) h.queue.take()); assertTrue(h.ch.isOpen()); assertTrue(h.ch.isActive()); assertFalse(h.ch.isInputShutdown()); assertFalse(h.ch.isOutputShutdown()); s.shutdownOutput(); h.halfClosure.await(); assertTrue(h.ch.isOpen()); assertTrue(h.ch.isActive()); assertTrue(h.ch.isInputShutdown()); assertFalse(h.ch.isOutputShutdown()); assertEquals(1, h.closure.getCount()); Thread.sleep(100); assertEquals(1, h.halfClosureCount.intValue()); } finally { s.close(); } }
Example 16
Source Project: grpc-nebula-java File: OkHttpClientTransportTest.java License: Apache License 2.0 | 4 votes |
@Test public void proxy_500() throws Exception { ServerSocket serverSocket = new ServerSocket(0); clientTransport = new OkHttpClientTransport( InetSocketAddress.createUnresolved("theservice", 80), "authority", "userAgent", executor, sslSocketFactory, hostnameVerifier, ConnectionSpec.CLEARTEXT, DEFAULT_MAX_MESSAGE_SIZE, INITIAL_WINDOW_SIZE, new ProxyParameters( (InetSocketAddress) serverSocket.getLocalSocketAddress(), NO_USER, NO_PW), tooManyPingsRunnable, DEFAULT_MAX_INBOUND_METADATA_SIZE, transportTracer); clientTransport.start(transportListener); Socket sock = serverSocket.accept(); serverSocket.close(); BufferedReader reader = new BufferedReader(new InputStreamReader(sock.getInputStream(), UTF_8)); assertEquals("CONNECT theservice:80 HTTP/1.1", reader.readLine()); assertEquals("Host: theservice:80", reader.readLine()); while (!"".equals(reader.readLine())) {} final String errorText = "text describing error"; sock.getOutputStream().write("HTTP/1.1 500 OH NO\r\n\r\n".getBytes(UTF_8)); sock.getOutputStream().write(errorText.getBytes(UTF_8)); sock.getOutputStream().flush(); sock.shutdownOutput(); assertEquals(-1, sock.getInputStream().read()); ArgumentCaptor<Status> captor = ArgumentCaptor.forClass(Status.class); verify(transportListener, timeout(TIME_OUT_MS)).transportShutdown(captor.capture()); Status error = captor.getValue(); assertTrue("Status didn't contain error code: " + captor.getValue(), error.getDescription().contains("500")); assertTrue("Status didn't contain error description: " + captor.getValue(), error.getDescription().contains("OH NO")); assertTrue("Status didn't contain error text: " + captor.getValue(), error.getDescription().contains(errorText)); assertEquals("Not UNAVAILABLE: " + captor.getValue(), Status.UNAVAILABLE.getCode(), error.getCode()); sock.close(); verify(transportListener, timeout(TIME_OUT_MS)).transportTerminated(); }
Example 17
Source Project: ScreenCapture File: SocketServerFragment.java License: MIT License | 4 votes |
@Override public void run() { Bundle bundle = new Bundle(); bundle.clear(); OutputStream output; String str = "hello hehe"; try { serverSocket = new ServerSocket(PORT); while (!stop) { Log.d("WOW", "LOOP"); Message msg = new Message(); msg.what = 0x11; try { Socket socket = serverSocket.accept(); output = socket.getOutputStream(); output.write(str.getBytes("gbk")); output.flush(); socket.shutdownOutput(); Log.d("WOW", "LOOP1111"); DataInputStream in = new DataInputStream(socket.getInputStream()); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] inputByte = new byte[2048]; byte[] finalByte = new byte[0]; int length = 0; Log.d("WOW", "start to receive"); while ((length = in.read(inputByte, 0, inputByte.length)) > 0) { // outputStream.write(inputByte, 0, length); byte[] tmp = new byte[finalByte.length + length]; System.arraycopy(finalByte, 0, tmp, 0, finalByte.length); System.arraycopy(inputByte, 0, tmp, finalByte.length, length); finalByte = tmp; Log.d("WOW", "final byte[] length:" + finalByte.length); } Log.d("WOW", "receiveddddddd"); Bitmap bmp = ImageUtils.byte2bitmap(finalByte); // save bmp Log.d("WOW", "get bmp:" + (bmp != null)); SimpleDateFormat date = new SimpleDateFormat("yyyyMMddhhmmss"); String fileName = getContext().getExternalFilesDir(null).getAbsolutePath() + "/myScreenshots" + "/received_" + date.format(new Date()) + ".png"; Log.d("WOW", "save to " + fileName); FileOutputStream fos = new FileOutputStream(fileName); bmp.compress(Bitmap.CompressFormat.PNG, 100, fos); in.close(); outputStream.close(); mHandler.sendMessage(msg); // bff.close(); output.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } }
Example 18
Source Project: ignite File: GridNioSelfTest.java License: Apache License 2.0 | 4 votes |
/** * Sends message and validates reply. * * @param port Port. * @param msg Message to send. */ private void validateSendMessage(int port, byte[] msg) { try { Socket s = createSocket(); s.connect(new InetSocketAddress(U.getLocalHost(), port), 1000); try { s.getOutputStream().write(msg); byte[] res = new byte[MSG_SIZE]; int rcvd = 0; InputStream inputStream = s.getInputStream(); while (rcvd < res.length) { int cnt = inputStream.read(res, rcvd, res.length - rcvd); if (cnt == -1) fail("Server closed connection before echo reply was fully sent"); rcvd += cnt; } if (!(s instanceof SSLSocket)) { s.shutdownOutput(); s.shutdownInput(); } assertEquals(msg.length, res.length); for (int i = 0; i < msg.length; i++) assertEquals("Mismatch in position " + i, msg[i], res[i]); } finally { s.close(); } } catch (Exception e) { fail("Exception while sending message: " + e.getMessage()); } }
Example 19
Source Project: grpc-java File: OkHttpClientTransportTest.java License: Apache License 2.0 | 4 votes |
@Test public void proxy_500() throws Exception { ServerSocket serverSocket = new ServerSocket(0); InetSocketAddress targetAddress = InetSocketAddress.createUnresolved("theservice", 80); clientTransport = new OkHttpClientTransport( targetAddress, "authority", "userAgent", EAG_ATTRS, executor, socketFactory, sslSocketFactory, hostnameVerifier, ConnectionSpec.CLEARTEXT, DEFAULT_MAX_MESSAGE_SIZE, INITIAL_WINDOW_SIZE, HttpConnectProxiedSocketAddress.newBuilder() .setTargetAddress(targetAddress) .setProxyAddress(serverSocket.getLocalSocketAddress()).build(), tooManyPingsRunnable, DEFAULT_MAX_INBOUND_METADATA_SIZE, transportTracer, false); clientTransport.start(transportListener); Socket sock = serverSocket.accept(); serverSocket.close(); BufferedReader reader = new BufferedReader(new InputStreamReader(sock.getInputStream(), UTF_8)); assertEquals("CONNECT theservice:80 HTTP/1.1", reader.readLine()); assertEquals("Host: theservice:80", reader.readLine()); while (!"".equals(reader.readLine())) {} final String errorText = "text describing error"; sock.getOutputStream().write("HTTP/1.1 500 OH NO\r\n\r\n".getBytes(UTF_8)); sock.getOutputStream().write(errorText.getBytes(UTF_8)); sock.getOutputStream().flush(); sock.shutdownOutput(); assertEquals(-1, sock.getInputStream().read()); ArgumentCaptor<Status> captor = ArgumentCaptor.forClass(Status.class); verify(transportListener, timeout(TIME_OUT_MS)).transportShutdown(captor.capture()); Status error = captor.getValue(); assertTrue("Status didn't contain error code: " + captor.getValue(), error.getDescription().contains("500")); assertTrue("Status didn't contain error description: " + captor.getValue(), error.getDescription().contains("OH NO")); assertTrue("Status didn't contain error text: " + captor.getValue(), error.getDescription().contains(errorText)); assertEquals("Not UNAVAILABLE: " + captor.getValue(), Status.UNAVAILABLE.getCode(), error.getCode()); sock.close(); verify(transportListener, timeout(TIME_OUT_MS)).transportTerminated(); }
Example 20
Source Project: iMetrica File: EvolutionPanel.java License: GNU General Public License v3.0 | 4 votes |
public void run() { System.out.println("start up IQ"); try { // // Launch IQFeed and Register the app with IQFeed. // System.out.println("Launching IQConnect."); // //Runtime.getRuntime().exec("/usr/bin/wine IQConnect.exe ‑product SIMON_OTZIGER_6345 -version 2.9.0.13 ‑login 422113 ‑password 76059316"); // System.out.println("Verifying if IQConnect is connected to the server"); // Thread.sleep(12000); // // verify everything is ready to send commands. // boolean bConnected = false; // // connect to the admin port. // Socket sockAdmin = new Socket(InetAddress.getByName("192.168.56.10"), 8300); System.out.println("Launching IQConnect."); //Runtime.getRuntime().exec("/usr/bin/wine IQConnect.exe -product JEANPIERRE_ROBALO_11529 -version 2.9.0.13 ‑login 431660 ‑password 70433790"); Runtime.getRuntime().exec("/usr/bin/wine IQConnect.exe -product PRABIN_SETH_11606 -version 2.9.0.13 ‑login 438106 ‑password 64568341"); System.out.println("Verifying if IQConnect is connected to the server"); Thread.sleep(12000); //verify everything is ready to send commands. boolean bConnected = false; //connect to the admin port. Socket sockAdmin = new Socket(InetAddress.getByName("localhost"), 9300); BufferedReader bufreadAdmin = new BufferedReader(new InputStreamReader(sockAdmin.getInputStream())); BufferedWriter bufwriteAdmin = new BufferedWriter(new OutputStreamWriter(sockAdmin.getOutputStream())); String sAdminLine = ""; // loop while we are still connected to the admin port or until we are connected while (((sAdminLine = bufreadAdmin.readLine()) != null) && !bConnected) { System.out.println(sAdminLine); if (sAdminLine.indexOf(",Connected,") > -1) { System.out.println("IQConnect is connected to the server."); bConnected = true; } else if (sAdminLine.indexOf(",Not Connected,") > -1) { System.out.println("IQConnect is Not Connected.\r\nSending connect command."); bufwriteAdmin.write("S,CONNECT\r\n"); bufwriteAdmin.flush(); } } // cleanup admin port connection sockAdmin.shutdownOutput(); sockAdmin.shutdownInput(); sockAdmin.close(); bufreadAdmin.close(); bufwriteAdmin.close(); // at this point, we are connected and the feed is ready. int total_num_assets = 8; // for(int i = 0; i < n_basket; i++) // {total_num_assets = total_num_assets + ppms[i].name.length;} // // total_num_assets = ppms.length*3; s_outs = new BufferedWriter[total_num_assets]; s_ins = new BufferedReader[total_num_assets]; Socket[] socks = new Socket[total_num_assets]; for(int i = 0; i < total_num_assets; i++) { socks[i] = new Socket(InetAddress.getByName("localhost"), 9100); //socks[i] = new Socket(InetAddress.getByName("192.168.56.10"), 8100); s_ins[i] = new BufferedReader(new InputStreamReader(socks[i].getInputStream())); s_outs[i] = new BufferedWriter(new OutputStreamWriter(socks[i].getOutputStream())); // Set the lookup port to protocol 5.0 to allow for millisecond times, // market center, trade conditions, etc s_outs[i].write("S,SET PROTOCOL,5.0\r\n"); s_outs[i].flush(); } } catch (Exception e) {e.printStackTrace();} }