java.net.ServerSocket类的使用及代码示例

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

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

ServerSocket介绍

[英]This class represents a server-side socket that waits for incoming client connections. A ServerSocket handles the requests and sends back an appropriate reply. The actual tasks that a server socket must accomplish are implemented by an internal SocketImpl instance.
[中]此类表示等待传入客户端连接的服务器端套接字。ServerSocket处理请求并返回适当的回复。服务器套接字必须完成的实际任务由内部SocketImpl实例实现。

代码示例

代码示例来源:origin: stackoverflow.com

  1. ServerSocket serverSocket = new ServerSocket(4444);
  2. Socket clientSocket = serverSocket.accept();
  3. PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
  4. while (true) {
  5. out.println("output");
  6. if (out.checkError()) System.out.println("ERROR writing data to socket !!!");
  7. System.out.println(clientSocket.isConnected());
  8. System.out.println(clientSocket.getInputStream().read());
  9. // thread sleep ...
  10. // break condition , close sockets and the like ...
  11. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Override
  2. protected boolean isPortAvailable(int port) {
  3. try {
  4. ServerSocket serverSocket = ServerSocketFactory.getDefault().createServerSocket(
  5. port, 1, InetAddress.getByName("localhost"));
  6. serverSocket.close();
  7. return true;
  8. }
  9. catch (Exception ex) {
  10. return false;
  11. }
  12. }
  13. },

代码示例来源: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: apache/incubator-dubbo

  1. public static int getAvailablePort() {
  2. try (ServerSocket ss = new ServerSocket()) {
  3. ss.bind(null);
  4. return ss.getLocalPort();
  5. } catch (IOException e) {
  6. return getRandomPort();
  7. }
  8. }

代码示例来源: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: 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: apache/incubator-druid

  1. @Override
  2. public void run()
  3. {
  4. while (!Thread.currentThread().isInterrupted()) {
  5. try (
  6. Socket clientSocket = serverSocket.accept();
  7. BufferedReader in = new BufferedReader(
  8. new InputStreamReader(clientSocket.getInputStream(), StandardCharsets.UTF_8)
  9. );
  10. OutputStream out = clientSocket.getOutputStream()
  11. ) {
  12. while (!in.readLine().equals("")) {
  13. // skip lines
  14. }
  15. out.write("HTTP/1.1 200 OK\r\nContent-Length: 6\r\n\r\nhello!".getBytes(StandardCharsets.UTF_8));
  16. }
  17. catch (Exception e) {
  18. // Suppress
  19. }
  20. }
  21. }
  22. }

代码示例来源:origin: normanmaurer/netty-in-action

  1. /**
  2. * Listing 1.1 Blocking I/O example
  3. * */
  4. public void serve(int portNumber) throws IOException {
  5. ServerSocket serverSocket = new ServerSocket(portNumber);
  6. Socket clientSocket = serverSocket.accept();
  7. BufferedReader in = new BufferedReader(
  8. new InputStreamReader(clientSocket.getInputStream()));
  9. PrintWriter out =
  10. new PrintWriter(clientSocket.getOutputStream(), true);
  11. String request, response;
  12. while ((request = in.readLine()) != null) {
  13. if ("Done".equals(request)) {
  14. break;
  15. }
  16. response = processRequest(request);
  17. out.println(response);
  18. }
  19. }

代码示例来源:origin: stackoverflow.com

  1. serverSocket = new ServerSocket(2005);
  2. connect();
  3. socket = serverSocket.accept();
  4. System.out.println("Got connection");
  5. if(handshake()) {
  6. PrintWriter out = new PrintWriter(socket.getOutputStream());
  7. BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  8. while (!(str = in.readLine()).equals("")) {
  9. String[] s = str.split(": ");
  10. System.out.println();
  11. out.write("HTTP/1.1 101 Switching Protocols\r\n"
  12. + "Upgrade: websocket\r\n"
  13. + "Connection: Upgrade\r\n"
  14. + "Sec-WebSocket-Accept: " + hash + "\r\n"
  15. + "\r\n");
  16. out.flush();
  17. socket.getInputStream().read(b);
  18. return b;
  19. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  20. while (true) {
  21. System.out.println("Write something to the client!");

代码示例来源:origin: igniterealtime/Openfire

  1. if (interfaceName != null) {
  2. if (interfaceName.trim().length() > 0) {
  3. bindInterface = InetAddress.getByName(interfaceName);
  4. serverSocket = new ServerSocket(port, -1, bindInterface);
  5. Log.debug("Flash cross domain is listening on " + interfaceName + " on port " + port);
  6. BufferedReader in = null;
  7. try {
  8. clientSocket = serverSocket.accept();
  9. clientSocket.setSoTimeout(10000); // 10 second timeout
  10. out = new PrintWriter(clientSocket.getOutputStream(), true);
  11. in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  12. out.write(CROSS_DOMAIN_TEXT +
  13. XMPPServer.getInstance().getConnectionManager().getClientListenerPort() +
  14. CROSS_DOMAIN_END_TEXT+"\u0000");
  15. out.flush();
  16. out.close();
  17. in.close();

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

  1. @Test
  2. public void testSocketSink() throws Exception {
  3. final ServerSocket server = new ServerSocket(0);
  4. final int port = server.getLocalPort();
  5. Socket sk = server.accept();
  6. BufferedReader rdr = new BufferedReader(new InputStreamReader(sk.getInputStream()));
  7. String value = rdr.readLine();
  8. server.close();

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

  1. private void processRequests(ServerSocket server) throws IOException {
  2. Socket socket = server.accept();
  3. connectionsAccepted.incrementAndGet();
  4. try (
  5. BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream(), UTF_8));
  6. PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), UTF_8))
  7. ){
  8. synchronized (startSynchro) {
  9. startSynchro.notifyAll();
  10. }
  11. String line;
  12. while ((line = in.readLine()) != null) {
  13. receivedMessages.add(line);
  14. out.print(line);
  15. }
  16. }
  17. }

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

  1. client = null;
  2. try {
  3. server = new ServerSocket(SOCKET_PORT);
  4. client = server.accept();
  5. while (!shutdown) {
  6. final BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
  7. final String line = reader.readLine();
  8. if (line.equals("Shutdown")) {
  9. shutdown = true;
  10. if (client != null) {
  11. try {
  12. client.close();
  13. } catch (final Exception ex) {
  14. System.out.println("Unable to close socket " + ex.getMessage());
  15. server.close();
  16. } catch (final Exception ex) {
  17. System.out.println("Unable to close server socket " + ex.getMessage());

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

  1. @Override
  2. public Void call() throws Exception {
  3. Socket socket = serverSocket[0].accept();
  4. BufferedReader reader = new BufferedReader(new InputStreamReader(
  5. socket.getInputStream()));
  6. String value = reader.readLine();
  7. assertEquals("0", value);
  8. socket.close();
  9. return null;
  10. }
  11. };

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

  1. try {
  2. try {
  3. serverSocket = new ServerSocket(port);
  4. serverSocket.setSoTimeout(TIMEOUT); // Block for maximum of 1.5 seconds
  5. } finally {
  6. synchronized (this) {
  7. socket = serverSocket.accept();
  8. } catch (final Exception e) {
  9. if (socket != null) {
  10. socket.close();
  11. final BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  12. final PrintWriter out = new PrintWriter(socket.getOutputStream());
  13. if (serverSocket != null) {
  14. try {
  15. serverSocket.close();
  16. } catch (final IOException e) {
  17. e.printStackTrace();

代码示例来源:origin: AsyncHttpClient/async-http-client

  1. @BeforeClass
  2. public void setUpGlobal() throws Exception {
  3. serverSocket = ServerSocketFactory.getDefault().createServerSocket(0);
  4. port1 = serverSocket.getLocalPort();
  5. executorService = Executors.newFixedThreadPool(1);
  6. voidFuture = executorService.submit(() -> {
  7. Socket socket;
  8. while ((socket = serverSocket.accept()) != null) {
  9. InputStream inputStream = socket.getInputStream();
  10. BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
  11. String req = reader.readLine().split(" ")[1];
  12. int i = inputStream.available();
  13. long l = inputStream.skip(i);
  14. assertEquals(l, i);
  15. socket.shutdownInput();
  16. if (req.endsWith("MultiEnt")) {
  17. OutputStreamWriter outputStreamWriter = new OutputStreamWriter(socket.getOutputStream());
  18. outputStreamWriter.append("HTTP/1.0 200 OK\n" + "Connection: close\n" + "Content-Type: text/plain; charset=iso-8859-1\n" + "Content-Length: 2\n"
  19. + "Content-Length: 1\n" + "\n0\n");

代码示例来源:origin: stackoverflow.com

  1. serverSocket = new ServerSocket(4444);
  2. } catch (IOException ex) {
  3. System.out.println("Can't setup server on this port number. ");
  4. socket = serverSocket.accept();
  5. } catch (IOException ex) {
  6. System.out.println("Can't accept client connection. ");
  7. in = socket.getInputStream();
  8. } catch (IOException ex) {
  9. System.out.println("Can't get socket input stream. ");
  10. out.write(bytes, 0, count);
  11. out.close();
  12. in.close();
  13. socket.close();
  14. serverSocket.close();

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

  1. public boolean preparePlanMode() throws IOException {
  2. try {
  3. process.getOutputStream().write((server.getLocalPort() + "\n").getBytes(ConfigConstants.DEFAULT_CHARSET));
  4. process.getOutputStream().flush();
  5. } catch (IOException ignored) {
  6. // the python process most likely shutdown in the meantime
  7. return false;
  8. }
  9. while (true) {
  10. try {
  11. socket = server.accept();
  12. sender = new PythonPlanSender(socket.getOutputStream());
  13. receiver = new PythonPlanReceiver(socket.getInputStream());
  14. return true;
  15. } catch (SocketTimeoutException ignored) {
  16. switch(checkPythonProcessHealth()) {
  17. case RUNNING:
  18. continue;
  19. case STOPPED:
  20. return false;
  21. case FAILED:
  22. throw new RuntimeException("Plan file caused an error. Check log-files for details.");
  23. }
  24. }
  25. }
  26. }

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

  1. while(!serverSocket.isClosed()) {
  2. try {
  3. Socket newClient = serverSocket.accept();
  4. PrintWriter pw = new PrintWriter(newClient.getOutputStream());
  5. if(connections.size() < MAX_CONNECTIONS) {
  6. synchronized(this) {
  7. connections.addElement(newClient);
  8. writers.addElement(pw);
  9. pw.print("TelnetAppender v1.0 (" + connections.size()
  10. + " active connections)\r\n\r\n");
  11. pw.flush();
  12. pw.print("Too many connections.\r\n");
  13. pw.flush();
  14. newClient.close();
  15. Thread.currentThread().interrupt();
  16. if (!serverSocket.isClosed()) {
  17. LogLog.error("Encountered error while in SocketHandler loop.", e);
  18. serverSocket.close();
  19. } catch(InterruptedIOException ex) {
  20. Thread.currentThread().interrupt();

代码示例来源:origin: stackoverflow.com

  1. String s = tf.getText();
  2. if (out != null) {
  3. out.println(s);
  4. Socket socket;
  5. if (kind == Kind.Client) {
  6. socket = new Socket(HOST, PORT);
  7. } else {
  8. ServerSocket ss = new ServerSocket(PORT);
  9. socket = ss.accept();
  10. in = new Scanner(socket.getInputStream());
  11. out = new PrintWriter(socket.getOutputStream(), true);
  12. display("Connected");
  13. while (true) {

相关文章