El sistema de gestión de la tienda de tintorería se completa utilizando lenguaje C y net. ¿Qué pasa si la recarga en línea se agrega al 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. Utilice 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 al establecer una conexión de red. Cuando la conexión sea exitosa, ambos extremos de la aplicación generarán una instancia de Socket, operarán esta instancia y completarán la sesión requerida. Para una conexión de red, los sockets son iguales y no hay diferencia entre ellos en el lado del servidor o en el lado del cliente. Ya sea Socket o ServerSocket, su trabajo se completa 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 se utilizan muchos métodos con frecuencia: El método .Accept se utiliza para generar "bloqueo" hasta que recibe un Connect y devuelve un. instancia del objeto Socket del cliente. "Bloqueo" es un término que hace que un programa "permanezca" temporalmente en este lugar hasta que se genera una sesión y luego el programa continúa, por lo general el "bloqueo" es causado por un bucle; El método .getInputStream obtiene la entrada de la conexión de red y devuelve una instancia del objeto IutputStream. El otro extremo de la conexión del método .getOutputStream obtendrá la entrada y devolverá una instancia del objeto OutputStream. Nota: Tanto el método getInputStream como el método getOutputStream generarán una IOException, que debe detectarse, porque el objeto de secuencia que devuelven suele ser utilizado por otro objeto de secuencia. 2. El principio de desarrollo del programa sobre cómo desarrollar un modelo Servidor-Cliente: Servidor, use ServerSocket para escuchar el puerto especificado, el puerto se puede especificar arbitrariamente (dado que los puertos por debajo de 1024 generalmente son puertos reservados, no se pueden usar arbitrariamente en algunos sistemas operativos, por lo que se recomienda Utilice un puerto mayor que 1024) y espere la solicitud de conexión del cliente. Una vez que el cliente se conecta, se genera la sesión y la conexión se cierra; El cliente utiliza Socket para emitir una solicitud de conexión a un determinado puerto de un servidor en la red. Una vez que la conexión se realiza correctamente, se abre la sesión y se cierra el Socket. El cliente no necesita especificar el puerto abierto y, por lo general, asigna temporal y dinámicamente un puerto superior a 1024. El siguiente programa usa JAVA para crear un servidor. Siempre escucha el puerto 10000 y espera las conexiones del usuario. El cliente puede usar un programa escrito en C para conectarse al servidor. Este programa devuelve información al cliente después de establecer la conexión y luego finaliza la sesión. Este programa sólo puede aceptar una conexión de cliente a la vez.
importjava.net.*;importjava.io.*;publicclassServer{privateServerSocketss;privateSocketsocket;privateBufferedReaderin;privatePrintWriterout;publicServer(){try{ss=newServerSocket(10000); while(true){socket=ss.accept();in= newBufferedReader(newInputStreamReader(socket.getInputStream()));out=newPrintWriter(socket.getOutputStream(),true);Stringline=in.readLine();out.println("youinputis:"+line);out.close() ;in.close();socket.close();}ss.close();}catch(IOExceptione){}}publicstaticvoidmain(String[]args){newServer();}}