Sistema de gestión de tiendas de tintorería, completado en C y net. ¿Cómo agregar recarga online en lenguaje C? Esta respuesta fue enviada el: 2011-6-1217:17 La comunicación de socket entre Java y otros lenguajes utiliza las clases Socket y ServerSocket. Usando JAVA para escribir el servidor y lenguaje C para escribir el cliente, por supuesto se puede lograr la comunicación (ejemplo al final). 1. Las bibliotecas de clases Socket y ServerSocket se encuentran en el paquete java.net. ServerSocket se usa en el lado del servidor y Socket se usa para establecer una conexión de red. Después de una conexión exitosa, ambos extremos de la aplicación crearán una instancia de Socket y operarán la instancia para completar la sesión requerida. Para las conexiones de red, los sockets son iguales, no hay diferencia y no hay diferentes niveles dependiendo de si es del lado del servidor o del lado del cliente. Ya sea Socket o ServerSocket, su trabajo se realiza a través de la clase SocketImpl y sus subclases. Importante SocketAPI: java.net.Socket hereda de java.lang.Object. Tiene ocho constructores y no muchos métodos. Los tres métodos comúnmente utilizados son: El método .Accept se usa para generar un "bloqueo" hasta que la conexión sea Acepta y. devuelve una instancia de objeto Socket de cliente. "Bloqueo" es un término utilizado para hacer que un programa se "bloquee" temporalmente hasta que se genera una sesión y luego el programa continúa ejecutándose; el "bloqueo" generalmente es causado por un bucle. El método getInputStream obtiene la entrada de la conexión de red y regresa. una instancia del objeto IutputStream. El método getOutputStream obtiene la entrada del otro extremo de la conexión y devuelve una instancia del objeto OutputStream. Nota: Los métodos getInputStream y getOutputStream generan IOException y deben detectarse porque generalmente se usa el objeto de flujo que devuelven. por otro objeto de flujo 2. Cómo desarrollar un servidor - Principios de desarrollo de programas en modo cliente: Servidor, use ServerSocket para escuchar el puerto especificado. El puerto se puede especificar arbitrariamente (ya que los puertos por debajo de 1024 generalmente son puertos reservados y no se pueden usar). arbitrariamente en algunos sistemas operativos, se recomienda usar puertos superiores a 1024), esperando la solicitud de conexión del cliente. Después de que el cliente se conecta, la sesión se genera y la conexión se cierra. Solicitud de conexión a un puerto en la red del servidor. Una vez que la conexión se realiza correctamente, se abre la sesión; una vez completada la sesión, el cliente no necesita especificar el puerto que se va a abrir. asigna dinámicamente un puerto superior a 1024. El siguiente programa usa JAVA para configurar un servidor que siempre escucha el puerto 10000, esperando las conexiones del usuario, y el cliente puede usar Un programa escrito en C se conecta al servidor. el programa devuelve un mensaje al cliente y luego finaliza la sesión.
importjava.net.*; importjava.io.*; publicclassServer{privateServerSocketss; privateSocketsocket.privateBufferedReaderin; privatePrintWriterout(){try{ss=newServerSocket(10000); ) socket.getInputStream())); out=newPrintWriter(socket.getOutputStream(), verdadero); Stringline=in.println("youinputis: " línea); ( );}ss.close();}catch(IOExceptione){}} publicstaticvoidmain(String[]args){newServer();}}