Resumen de la programación de red / recopilación de datos / modo de interacción de la serie de operación y mantenimiento del sistema

Este blog está destinado a resumir los métodos de recopilación / interacción de datos. Para decirlo sin rodeos, es el problema de la interfaz / comunicación, es decir, cómo establecer una conexión de comunicación con el par, cómo transmitir datos y cómo almacenar datos. Nuestro mundo es un mundo interconectado. En esencia, todos estamos interactuando con la información en nuestra vida diaria, como el faro en las guerras antiguas, el telégrafo / teléfono de la guerra moderna, la Internet / informatización actual, la información La interacción es muy importante .
Los tres elementos de la programación de la red :
dirección IP: la identificación única de cada dispositivo en la red, la dirección del bucle local es 127.0.0.1, la dirección de transmisión es 255.255.255.255, IPV4 4 0-255, IPV6 total 8 grupos, cada grupo tiene 4 sistemas hexadecimales;
número de puerto: identificación única de cada programa en el dispositivo, cada programa de red debe vincular un número de puerto, la transmisión de datos además de aclarar explícitamente dónde deben enviarse las máquinas a qué programa;
protocolo: el red informática Las reglas establecidas para la interacción de datos, donde UDP está orientado a sin conexión, los datos son inseguros pero rápidos y no distinguen entre servidor y cliente; los datos orientados a la conexión TCP (protocolo de enlace de tres vías) son seguros pero la velocidad es ligeramente menor , distinguiendo entre servidor y cliente, el cliente envía una solicitud al servidor, y el servidor responde a la solicitud y transmite datos.
part1: interfaz de enchufe
Socket es una capa de abstracción entre la capa de aplicación y la capa de transporte. Resume las operaciones complejas de la capa TCP / IP en unas pocas interfaces simples. La capa de aplicación llama a los procesos implementados para comunicarse en la red. Solo la dirección IP y el número de puerto identificados de forma exclusiva en la red se pueden combinar para formar un socket identificador de socket identificable de manera única. Dos clases importantes en java son la clase socket y la clase ServerSocket. La primera es java.net.Socket, que generalmente se usa para escribir código de cliente; la última es java.net.ServerSocket, que generalmente se usa para código de servidor. de Socket, ServerSocket es diferente de Socket. ServerSocket espera la solicitud del cliente. Una vez que se obtiene una solicitud de conexión, se crea un ejemplo de Socket para comunicarse con el cliente. Por supuesto, el cliente y el servidor aquí también son un concepto relativo. Tanto el cliente como el servidor pueden leer y escribir los datos del otro. En términos generales, el servidor es la fuente de datos y el cliente obtiene datos del servidor o el servidor lo hará. Los datos se envían al cliente. El escenario en el que me centro aquí es cómo yo, como servidor, recibo datos del cliente.
Paso 1: Pruebe si los puertos de enrutamiento del servidor y del cliente están abiertos, abra el puerto en el servidor y asegúrese de que este puerto no esté ocupado.
Telnet dirección IP número de puerto para comprobar si el puerto está abierto o no. Si la prueba está abierta en Windows, habrá un cuadro negro sin ningún mensaje de solicitud, luego salga: CTRL +] y luego ingrese quit;
lsof -i: una marca si el puerto A está ocupado,
si el puerto está Si no está activado, utilice el cortafuegos o iptables para activarlo en el servidor Linux Para obtener más información, consulte la información del enlace.
Suplemento: el número de puerto varía de 0 a 65535, pero los puertos con números más pequeños generalmente están ocupados de forma predeterminada, como:
ftp (21) SSH (22) smtp (25) web (80) oracle (1521)
mysql (3306) QQ (4000) gato (8080)
Paso 2: Código

public void server() {
    
    
		ServerSocket serverSocket = null;
		Socket client = null;
		OutputStream dos = null;    //输出流
		InputStream dis = null;    //输入流
		try{
    
    
		serverSocket = new ServerSocket(port);
		System.out.println("Server is starting...\n");
		client = serverSocket.accept();
		dis = client.getInputStream();
		BufferedReader inReader = new BufferedReader(new InputStreamReader(dis,"GB2312"));
		StringBuffer sBuffer = new StringBuffer();
        while(true) {
    
     
        	String line = inReader.readLine();
        	System.out.println("客户端发过来的内容:" + line); 
         }
     }
 }

part2: interfaz http
HTTP (Protocolo de transferencia de hipertexto) es un conjunto de reglas para que las computadoras se comuniquen a través de la red. El protocolo HTTP utiliza un modelo de solicitud / respuesta. El cliente envía un mensaje de solicitud al servidor. El mensaje de solicitud contiene el método de solicitud, la URL, el encabezado de la solicitud y los datos de la solicitud. El servidor responde con una línea de estado. El contenido de la respuesta incluye la versión del protocolo, el código de estado, la información del servidor, el encabezado de la respuesta y los datos de la respuesta.
Paso 1: Igual que el paso de tomcat, debe asegurarse de que el estado de enrutamiento y el puerto estén libres.
Paso 2: Código

public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
    
    
		String ip = req.getRequestURI();
        Map<String, String[]> map = req.getParameterMap();
        StringBuffer inputString = new StringBuffer();
        for (String key:map.keySet()) {
    
    
            inputString.append(key);
            inputString.append("=");
            inputString.append(Arrays.toString(map.get(key)));
        }
        System.out.println(inputString.toString());
        resp.setContentType("application/json;charset=utf-8");
        resp.setCharacterEncoding("utf-8");
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
    
    
		String ip = req.getRequestURI();
		InputStream dis = req.getInputStream();
		BufferedReader reader = new BufferedReader(new InputStreamReader(dis,"utf-8"));
        String line = "";
        StringBuffer inputString = new StringBuffer();
        while ((line = reader.readLine())!=null) {
    
    
            inputString.append(line);
        }
        JSONObject jsonObject = JSONObject.fromObject(inputString.toString());
        System.out.println(jsonObject.toString());
        resp.setContentType("application/json;charset=utf-8");
        resp.setCharacterEncoding("utf-8");
    }

part3: transferencia de archivos ftp
FTP (Protocolo de transferencia de archivos) es uno de los protocolos de la suite de protocolos TCP / IP. El protocolo FTP incluye dos componentes, uno es el servidor FTP y el otro es el cliente FTP. El servidor FTP se usa para almacenar archivos y los usuarios pueden usar el cliente FTP para acceder a los recursos ubicados en el servidor FTP a través del protocolo FTP.
Consulte las referencias para el código.

Enlace de referencia:
https://blog.csdn.net/qq_41517936/article/details/81015711 Breve introducción y ejemplos de Socket y ServerSocket
https://blog.csdn.net/zx110503/article/details/78787483 Puerto abierto CentOS7 (permanente )
Https://blog.csdn.net/qq_39946015/article/details/104374427?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utlevantCmend2.cpa.discf&depth_1-utlevant_source_source=distribute.pc_relevant. http solicitud y respuesta, desarrollo de interfaz de cliente y servidor
https://www.cnblogs.com/huzi007/p/4236150.html java realiza la carga y descarga de archivos ftp

Supongo que te gusta

Origin blog.csdn.net/langxiaolin/article/details/113769868
Recomendado
Clasificación