Red de conocimiento informático - Aprendizaje de programación - ¿Cuáles son las similitudes y diferencias entre la programación de sockets en Linux (o lenguaje C) y JAVA?

¿Cuáles son las similitudes y diferencias entre la programación de sockets en Linux (o lenguaje C) y JAVA?

Diferencias:

1. En primer lugar, las interfaces proporcionadas por los dos son diferentes, lo cual es fácil de distinguir.

2. Java es multiplataforma. El programa escrito se puede ejecutar en muchos sistemas operativos como Linux, Windows o Apple sin ninguna modificación. Por supuesto, se puede utilizar C, pero el propio Linux proporciona un sistema de socket. llamadas, si está utilizando la llamada al sistema Linux, entonces su programa solo puede ejecutarse en Linux, lo cual no es difícil de entender. Pero si se trata de una función de biblioteca C, aún puede ser multiplataforma

3. La velocidad de uso de las llamadas al sistema Linux es más rápida que la interfaz SOCKET proporcionada por JAVA.

No hablaré de las similitudes. Después de leer lo que digo a continuación, podrás entender su relación directa.

Por la pregunta que hiciste, creo que es posible que no sepas mucho sobre programación.

Socket se utiliza para lograr el propósito de la comunicación de procesos (principalmente comunicación de red), pero este no es un problema que el lenguaje pueda resolver. Para ser precisos, el lenguaje ni siquiera sabe qué es un proceso. Entonces SOCKET no es una función de JAVA, entonces, ¿cómo implementa JAVA esta función? JAVA se logra llamando al SOCKET proporcionado por el sistema.

En LINUX, SCOKET en JAVA se completa finalmente llamando a la llamada al sistema proporcionada por el sistema, y ​​el sistema operativo y el hardware completan simultáneamente el SOCKET de la llamada al sistema. Entonces, lo principal que tienen en común es que si su programa JAVA se ejecuta en LINUX, el proceso específico de su comunicación será exactamente el mismo, excepto que JAVA agregará algunas cosas que considere necesarias antes de la llamada al sistema o algo. que creo que puede ser conveniente para los programadores.