java tcp 端口监听

简介: import java.io.BufferedReader;import java.io.IOException;import java.io.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;



public class Server extends ServerSocket {

    publicServer(int serverPort) throws IOException {
      // 用指定的端口构造一个ServerSocket
      super(serverPort);
      try {
         while (true) {
            // 监听一端口,等待客户接入
            Socket socket = accept();
            // 将会话交给线程处理
            new ServerThread(socket);
         }
      } catch (IOException e) {
         e.printStackTrace();
      } finally {
         close(); // 关闭监听端口
      }
    }

    //inner-class ServerThread
    classServerThread extends Thread {
      private Socket socket;
      private BufferedReader in;
      private PrintWriter out;

      // Ready to conversation
      public ServerThread(Socket s) throws IOException{
         this.socket = s;
         // 构造该会话中的输入输出流
         in = new BufferedReader(newInputStreamReader(socket
               .getInputStream(), "GB2312"));
         out = new PrintWriter(socket.getOutputStream(),true);
         start();
      }

      // Execute conversation
      public void run() {
         try {

            // Communicate with client until "bye "received.
            while (true) {
               // 通过输入流接收客户端信息
               String line = in.readLine();
               if (line == null || "".equals(line.trim())) { //是否终止会话
                  break;
               }
               System.out.println("Received  message: " + line);
               // 通过输出流向客户端发送信息
               out.println(line);
               out.flush();
            }

            out.close();
            in.close();
            socket.close();

         } catch (IOException e) {
            e.printStackTrace();
         }
      }

    }

    // mainmethod
    publicstatic void main(String[] args) throws IOException {
      new Server(2088);
    }
}


目录
相关文章
|
2月前
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
145 2
|
2月前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
2月前
|
网络协议 网络安全 Python
电脑中 TCP/UDP 端口是否开放的测试:令人意想不到的神奇策略等你发现!
【8月更文挑战第19天】在网络管理和维护中,常需确认TCP/UDP端口是否开放以确保服务运行顺畅。端口如同计算机对外通信的“门”,TCP提供可靠连接,UDP则快速但无连接。测试端口是否开放的方法多样:可用`telnet`测试TCP端口,如`telnet localhost 80`;UDP测试较复杂,可用`nc`工具,如`nc -u -z localhost 53`。此外,也有在线工具可供选择,但需确保其安全性。
52 1
|
2月前
|
网络协议 Windows
在电脑上测试TCP/UDP端口是否开放,还是得网络大佬这招厉害!
在电脑上测试TCP/UDP端口是否开放,还是得网络大佬这招厉害!
|
2月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
3月前
|
人工智能 Serverless API
函数计算产品使用问题之如何在一个Docker容器内运行一个持续监听特定端口的应用程序
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
网络协议
【qt】TCP的监听 (设置服务器IP地址和端口号)
【qt】TCP的监听 (设置服务器IP地址和端口号)
94 0
|
2月前
|
SQL 网络协议 Java
JAVA SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败
JAVA SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败
36 0
|
2月前
|
Linux Windows
Windows查找监听端口对应的进程及其路径
Windows查找监听端口对应的进程及其路径
|
3月前
|
网络协议 Java 数据处理
(一)Java网络编程之计网基础、TCP-IP协议簇、TCP、UDP协议及腾讯QQ通信原理综述
就目前而言,多数网络编程的系列的文章都在围绕着计算机网络体系进行阐述,但其中太多理论概念,对于大部分开发者而言,用途甚微。因此,在本系列中则会以实际开发者的工作为核心,从Java程序员的角度出发,详细解读Java的网络编程核心内容。
下一篇
无影云桌面