Una breve discusión sobre cómo usar sockets para la programación de redes en Java (1)
El socket es un extremo de la comunicación bidireccional entre dos programas que se ejecutan en la red. Puede aceptar solicitudes y enviar solicitudes. Se puede utilizar para programar de manera más conveniente la transmisión de datos en la red. En Java, existen clases de socket especializadas para manejar las solicitudes y respuestas de los usuarios. Utilizando los métodos de la clase SOCKET, se puede lograr la comunicación entre dos computadoras. A continuación se ofrece una introducción sobre cómo utilizar sockets para la programación de redes en JAVA. En Java, Socket puede entenderse como un objeto especial en el lado del cliente o del servidor. Este objeto tiene dos métodos clave, uno es el método getInputStream y el otro es el método getOutputStream. El método getInputStream puede obtener un flujo de entrada. El flujo de entrada obtenido por el método getInputStream en el objeto Socket del cliente es en realidad el flujo de datos enviado desde el servidor. El método GetOutputStream obtiene un flujo de salida. El flujo de salida devuelto por el método getOutputStream en el objeto Socket del cliente es el flujo de datos que se enviará al servidor (en realidad, un búfer que almacena temporalmente los datos que se enviarán). Los programas pueden encapsular aún más estos flujos de datos según sea necesario. El ejemplo de este artículo encapsula estos flujos de datos hasta cierto punto (para la encapsulación, consulte la parte de implementación de flujos en Java). 1. Establezca una clase de servidor. Hay una clase en Java que se usa específicamente para crear un servidor Socket, llamada ServerSocket. Puede usar el número de puerto que el servidor necesita usar como parámetro para crear un objeto de servidor. Servidor ServerSocket = new ServerSocket(9998) Esta declaración crea un objeto de servidor. Este servidor utiliza el puerto 9998. Cuando un programa cliente establece una conexión Socket y el número de puerto conectado es 9998, el servidor de objetos del servidor responde a la conexión y el método server.accept () crea un objeto Socket. El servidor puede utilizar este objeto Socket para comunicarse con el cliente. Socket entrante = server.accept() y luego obtenga el flujo de entrada y el flujo de salida, y encapsule BufferedReader en = new BufferedReader(new InputStreamReader(incoming.getInputStream())); ) ; Luego, puede usar el método in.readLine() para obtener la entrada del cliente, o puede usar el método out.println() para enviar datos al cliente. Así, puede responder a diferentes solicitudes del cliente según las necesidades del programa.