Programación de zócalos TCP/IP en Windows y Linux en C y C | Sonali Shrivastava | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Programación de zócalos TCP/IP en Windows y Linux en C y C

teacher avatar Sonali Shrivastava, TCP/IP Socket Programming HandsOn-Window

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Sesión de enchufe1

      17:31

    • 2.

      SocketBásicoPart1

      12:46

    • 3.

      SocketBásicoPart2

      21:16

    • 4.

      SocketSession3 Part1 OSIModelPreview previa

      4:06

    • 5.

      Sesión de enchufe 3 Part2 arquitectura con capas de TCP

      14:10

    • 6.

      SocketSession3 Part3 OSIModel RealWorldExample

      16:35

    • 7.

      Servidor de socket4 ServerClientMethodsWindows Part1

      21:38

    • 8.

      Sesión de socket5

      20:41

    • 9.

      Servidor de diferencia6 para principiantes

      12:35

    • 10.

      Sesión de socket7 Servidor de ProgramExecution con Windows C++

      20:50

    • 11.

      Sesión de socket7 Servidor de ProgramExecution con Windows C++

      20:18

    • 12.

      Sesión de socket8 Servidor de ProgramExecution Linux C Part1

      18:42

    • 13.

      Sesión de socket8 Servidor de ProgramExecution Linux C Part2

      16:28

    • 14.

      Sesión de socket8 Servidor de ProgramExecution Linux C++

      24:20

    • 15.

      Sesión de socket9

      28:19

    • 16.

      Sesión de socket10 Programación de ProgramExecution con Windows C++

      19:08

    • 17.

      Sesión de socket10 Programación de ProgramExecution con Windows C++ Part2

      13:27

    • 18.

      Sesión de socket11 Programación de ejecución HttpApacheServerClientCommunication Linux C

      20:32

    • 19.

      Sesión de enchufe12 que no bloquean los enchufes: multiClientServer

      23:47

    • 20.

      Sesión de enchufe12 que no bloquean los enchufes: multiClientServer

      16:42

    • 21.

      Programa de sesión13 y ejecución UsingSelect MultiClientServerCommunication 1°Mitad

      28:53

    • 22.

      Programa de sesión13 Seleccionar MultiClientServerComm 2º part1

      18:26

    • 23.

      Programa de sesión13 Seleccionar MultiClientServerComm 2º part2

      12:50

    • 24.

      Programa de Session13 Seleccionar multicliente

      26:22

    • 25.

      SocketSession14 Makingsocket como multicliente sin NonBlockingSocket

      29:23

    • 26.

      SocketSession15 Program&Exection Makingsocket como multicliente sin NonBlockingSocket

      30:26

    • 27.

      Sesión de socket16 ApplicationSocketProgramming

      8:29

    • 28.

      SocketSession17 SourceCode

      0:15

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

308

Estudiantes

1

Proyectos

Acerca de esta clase

¿Realizaste en cualquier momento comunicación entre 2 procesos? Si NO es una comunicación con clientes de socket Server es bueno para empezar.

Este curso cubre programación de zócalos para Windows y Linux

Cubre múltiples programas de socket y ejecución de él para Windows y Linux.

También cubre los zócalos de bloqueo y sin bloqueo con explicación de programas y ejecución.

Tener código fuente compartido para todos los programas de socket.

Es una excelente tecnología para agregar puntos adicionales

Aprendizaje de programación de zócalos te pagará más en la industria de TI de hoy en día.

¿Por qué aprender programación de zócalos?

Se continúa con tecnología a pedido.

Además de aprender arquitectura de la CPU, espacio de memoria y varios algoritmos, podrás crear programas eficientes y podrás encontrar una lista de competidores de buen programador en esta industria de TI.

Podrás romper cualquier entrevista y brillará en esta industria de TI ya que la programación de socket es tecnología a pedido.

¿Por qué inscribirse en este curso será la mejor decisión?

Al final de este curso, no solo obtendrás un conocimiento profundo de la programación de clientes de socket Server desde cero para Windows y Linux, sino que también obtendrás conocimiento de capas de redes y cómo desempeñan un papel importante para llevar la comunicación de socket de fuente a detsination.

Te librarás de escribir programas de clientes de socket Server con la ejecución de ellos en Windows y Linux.

Comprenderá en profundidad sobre el bloqueo y el socket no bloqueado y será capaz de escribir programas y ejecutarlo.

Podrás desarrollar habilidades lógicas y verbales también.

Esto llevará a tu crecimiento y brillará en carrera.

Podrás romper cualquier entrevista en la industria de TI de hoy.

Este curso cubrirá todos los conceptos básicos de programación de zócalos y no solo cubrirá "cómo codificar", sino que también dará luz a los detalles "Por qué es necesario y qué importancia es" para que tus conceptos sean borrados desde cero y puedes romper cualquier entrevista que dé respuestas técnicas que cubran todos los puntos.

Conoce a tu profesor(a)

Teacher Profile Image

Sonali Shrivastava

TCP/IP Socket Programming HandsOn-Window

Profesor(a)
Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Socket de la sesión 11: Y bienvenidos a esto. Es decir, la programación de socket de CPU DB o se mezcla como maravillosamente sabe, usando C comprado así como C plus. Por lo que aquí en esta sesión, estaría enumerando qué temas vamos a estar cubriendo en toda esta meta. Entonces las metáforas, la óptica, yo estaré entendiendo los conceptos básicos de socket para agarrar que este Amanullah lo john relacionó con el fin de entender aunque programación socket. Entonces, después siguiente. Y hemos visto la arquitectura DCP, que también se llama arquitectura natural, también goin como modelo OSI. Por lo que aquí se ven componentes de red de agua así como veremos cómo la sombra con el fin de llevar la comunicación del socket. Y lo entendemos con el ejemplo del mundo real. Entonces en la siguiente sesión estaremos viendo esa configuración, que se requiere con el fin de bombardear comunicación de socket tanto para ventanas como para B naught. También veremos diferentes funciones de socket, que también se llama como métodos para el ciber-cibernético. Desciende la guerra para Windows y para Linux. Y una ligera diferencia en las funciones de socket para Windows y Linux, estaremos viendo que tienes sesión, sí entiendes la diferencia entre el sistema operativo Windows con el fin de traer comunicación socket. Entonces estaremos viendo qué poca configuración es, por lo tanto ventanas. Y una configuración de bin, por tanto, es de Lena. Entonces, ¿cómo publicaron qué archivos de encabezado se requieren por ser aquellos que tanto en socket obligatorio como archivos de encabezado son requeridos o Linux. Entonces estaremos viendo qué son todas las diferentes partes de socket met que hay en absoluto. Y nueve para Windows y robot socket manipula nuestra cantidad neta. Entonces eso es muy ligeramente amigos y los métodos de socket. Por lo que todas estas diferencias nos veremos en ese apartado. Entonces la siguiente sesión estaremos iniciando con programa socket y también lo ejecutaremos. Ventanas de barrido como Venecia para nosotros. Entonces aquí escribiendo diferentes programas. Entonces eso será aunque la comunicación de socket de programa entre servidor y nueve. Eso es cibernético más simple a las nueve Jack de negaciones que estaremos viendo y también las ejecutaremos para esas. Y también entenderemos a los demás. Programa de hockey, o sobre SCTP, Archie Cyberduck de nueve sockets de comunicación en la PC, Barbie en esos aspectos. Sólo sabe y también los estaremos ejecutando de esta manera, estar construyendo todos estos programas. Después la otra sesión, estaremos viendo qué están bloqueando así como qué son sockets no bloqueantes. E incluso estar escribiendo ese programa o la escena y lo estará ejecutando para entenderlos más. Pero también veremos cómo lograr mi servidor declines. Y vamos a estar viendo que nuestros diferentes enfoques con el fin de Obama, creo que la comunicación de socket de nueve servidor. Entonces el primer enfoque básico, beber ¿qué línea hacen aunque? Por lo que puedes entender que nuestros clientes, que uno pone niegan salvo y crean múltiples hilos. Para que ese radio decida uno de los thes y pasando por ese enfoque. Entonces veremos cuáles son las desventajas que hay en el uso ese enfoque no se recomienda utilizar NAT en el extranjero. Y por lo tanto que me acercaba lo que comenzó con el fin de evitar a los desventajosos. Por lo que el siguiente enfoque es usar Basílica. Entonces hasta ver qué sí selecciona y cuál es su importancia para lograr una comunicación satelital multiplicada. Por lo que la gente lo entiende más efectivo escribiendo y ejecutando. Pero sistema operativo Linux. Entonces veremos también el enfoque que es hacer esto ocupe Nagasaki y sí logre multi-línea Soy negación. Por lo que vamos a escribir el programa y ejecutarlo en la nariz con el fin de cumplir con el socket como no-bloqueo y con el fin de lograr la comunicación del servidor multi cliente encendido por lo que tengo el código fuente para todos los programas de socket, la cohorte gigante en esto enteramente. Por lo que se puede requerir, después de entender la comida que yo había explicado sesiones. Entonces todas estas cosas, ya hemos hecho esto y causa nefasta. Lo he descrito en resumen. Entonces tuve eso como te he explicado lo que cada sesión vamos a temas que vamos a estar ofreciendo efectivamente. Entonces veamos. Primera sesión, estaremos viendo los fundamentos de la programación de socket. Por lo que esta sesión se dedica a toda la ley de aminoácidos, estos que están relacionados para la programación de socket. Entender la comunicación entre servidor y ciego. Estaremos viendo qué hace socket, qué escribo source socket está disponible. Y en terminologías de socket relacionadas con este dominio y lo que es el protocolo de comunicación. Por lo que todas las terminologías relacionadas con la programación de socket que serás, estarás viendo. Pero todos los métodos se utilizan para la pared celular y los métodos de mármol se utilizan para la línea con el fin de bien la comunicación de socket de bola entre el servidor y el cliente. Por lo que todas las piezas que están relacionadas con el zócalo que estarás cubriendo en esta primera sesión. Por lo que esta es mucha visita rúbrica con el fin de iniciar el zócalo de negaciones. Por lo que la siguiente sesión se dedica a la arquitectura ECP, que también se llama como una arquitectura negativa o patio, pero aún se llama como modelo OSI porque sesión muy importante. Entonces esto, este tema. Toda la red que es componentes de netbook los cuales se requieren con el fin de llevar la comunicación de socket entre líneas de solvente. Entonces, ¿cómo es que los componentes se comunicarán entre sí para que la presencia de nuestros siete Leo. Por lo que compite arquitectura que he descrito aquí y en esta sesión he pasado por conferencias, pero la música foster coil estará listando. Pero por defecto esta conferencia será distinta. La arquitectura de capa de red. Por lo que serán siete componentes han sido diferentes red de Leo's. Entonces te estaré explicando cuál es el propósito de cada red de capas IO. Entonces esto es mucho B6 y lo estarás encontrando más invirtiendo. Estarás entendiendo cómo estos componentes de red se comunican entre sí con el fin de llevar comunicación de socket aunque con esta información, con esto ya días en la primera conferencia, y estaremos cubriendo la segunda conferencia de la misma sesión, cual les estaré explicando que ejemplos del mundo real y la equidad se hunden con la arquitectura de capa de red que es avatar de audio arquitectónico TCP. En esta conferencia, comprenderás otro ejemplo del mundo real, vid.net Leo. Entonces te explicaré cómo estos componentes de red, cómo estas redes juegan un papel importante en el ejemplo del mundo real. Por lo que esta segunda conferencia aclarará sus todos los conceptos de los siete Network Leo's de la arquitectura PCP. La siguiente sesión que se enseña sesión que estaría relacionada con el método de cliente de barra lateral socket específico de Windows. Entonces aquí estaré enumerando métodos de cliente del servidor socket de defensa los cuales se utilizan para el sistema operativo Windows. Entonces lo estaré hundiendo con el, así que esto se dedica a eso. Se hará la siguiente sesión. Línea de servidor socket específico de Linux contra pensar con el viejo. Entonces aquí otra vez lo mismo, pero esto será específico del sistema operativo Linux. Esa es la diferencia muy mínima entre los poetas Rita usa para ciberaplicar qué ventanas así como para el líder. Entonces estaremos viendo la próxima sesión. Esa diferencia entre el específico de Windows así como el tocado específico de programación socket sistema operativo Windows. Cuáles son mis pensamientos son que los métodos inmortales o bolinas netas y el trabajo en nuestras diferencias están ahí entre Windows y Linux. Son pocos los métodos que son diferentes. Una forma específica, Windows y Linux. Y no hay mucha diferencia también se verá aquí en esta sesión. Cuáles son nuestros archivos de cabecera que tienes que usar si tienes dos programación de socket de brazo a granel para Sistema Operativo Windows y cómo es diferente para el sistema operativo Linux. Entonces estaremos viendo qué se requiere la configuración para sistema operativo Windows con el fin de realizar la programación de socket, lo que es que construimos una startup se requiere, pero sistema operativo Linux. Entonces en esta siguiente sesión que una sesión seis, tengo programación de socket TCP específica de Gvd Windows en C plus plus. Entonces aquí esto, esto, esta es la comunicación básica de socket entre el cibernético y cómo se llevará a cabo la gráfica entre el servidor y el cliente. Y esto, esto se verá para el sistema operativo Windows. Y estaremos escribiendo el código en C plus. Por lo que esto te ayudará a escribir el programa en el IDE o doc ID VB usando y cómo se lleva a cabo la comunicación en estar ejecutándolos. Y la siguiente sesión será sin embargo, programación de socket en C y C plus, más lo que el sistema operativo Linux. Entonces eso parece programación de socket antes que el sistema operativo Linux. Y al escribir la potencia así como C plus. Por lo que hay dos conferencias porque he cubierto en C así como lo he cubierto C plus. Entonces este es de nuevo el programa. Estarás escribiendo el código y ejecutándolo para el sistema operativo Linux. Entonces en la siguiente sesión que una sesión ocho, tal vez entendiendo una publicación HTTP dicha línea en TCP. Por lo que una vez que entiendas esto, la comunicación VCB se portó mal cubrió 467 sesión para Windows y Linux. Después has entrado, entenderás cómo también puede ser este servidor HTTP nueve, comunicación también se puede pasar en PCB. Entonces esta es nuestra ganancia, estará haciendo el coordinador del programa para antes. En esta sesión entendemos cartel llamado los conceptos cómo HTTP Apache servidor se comunica con el navegador Klein en su PCP. Entonces te explicaré, aunque cosas como Apache dijo lo que comunica con el cliente, eso es siempre que estés dando algún enlace en el navegador, cualquier navegador que pueda ser, es decir Mozilla, Firefox, o Chrome. Entonces cómo se envía esta solicitud desde el lado del cliente es desde el lado del navegador a ese Apache HTTP lado a lado, y cómo responde el servidor a esta declinación en forma del encabezado. Entonces todo lo que he cubierto en esta sesión, quiero lo que hace esa línea y quién dijo qué y cómo dijo ¿qué están diciendo? Eso es engendra dos plano y mantenga la página se carga. Qué maravilla, lo que sea que el usuario dio algún enlace en el navegador que esta sesión vendrá conocer o teatro todos los conceptos del servidor HTTP nueve publicación. Entonces esto puede ser si vas en secuencia de acuerdo a la sesión, si compraste nueva sesión 60, sesión siete, y luego irás a la sesión ocho, entonces esto estará en ti porque así casi la programación es va a estar escribiendo para esto. Por lo que la comunicación será similar. Meconium mínimo V3. Entonces este USB entendiendo los que cubrimos todas las sesiones e incrementos o aunque. Por lo que la indecisión en dedicarse sobre la espalda. Entonces la próxima sesión será lo mismo que de África. Me molesta esta estúpida comunicación de Cedric nueve del STDP. Iniciaremos esta sesión por bus VW ejecución específica de la publicación del cliente del servidor HTTP Apache en C plus. Por lo que este pastel se requiere prerrequisitos. Entonces cuando caminas por la sesión, entonces solo debes visitar la sesión. Porque esta es la comprensión de cómo se lleva a cabo esta comunicación. Y después de entender la comunicación y fantasioso, entonces. Si estás teniendo sistema operativo Windows, o puedes escribir un código. Qué dB extra, servidor Apache. Tengo toda nuestra programación y ejecución o como debo darte un B27 se comunica con Klein es D plus plus. Entonces hacemos el programa para eso y para el sistema operativo Windows en C plus y. entonces lo mismo programado por para el sistema operativo Linux en C. Así que dependiendo de qué sistema operativo tengas, si tienes Windows, puedes ir a través de esta sesión. Si tienes un ratón, puedes pasar por la sesión. Sesión. Dado BC, ¿cómo logro mi comunicación de servidor declines usando el socket en el sistema operativo Linux. Entonces aquí, dada una recuperación mientras la c. Así que ahora conferencia muy rápida, nos veremos forzados qué bucky oscuro así como enchufes no bloqueantes. Incluso el también el primer acercamiento con el fin de obtener mes declinan varios comunicación en este mediante el uso de la función selecta. Entonces hasta ver qué función selecta, selecta, cómo juega un papel importante y qué argumentos deberían estar ahí. Por lo que la próxima conferencia veremos, estaremos escribiendo programa y ejecutándolo en todo usando la función selecta con el fin de lograr mi declines comunicación servidor en este hombre que incluso entiendo todo mi cliente comunicación del servidor o Sybil por ese enfoque, mediante el uso de la función de selección. Entonces en la siguiente conferencia, estaremos utilizando el enfoque diferente con el fin de lograr mis declinaciones varias comunicación. Y ese es el segundo enfoque al hacer que el socket sea no bloqueante. Entonces veremos cómo usarlo. No necesito esos se requieren después de entender esto en la conferencia tres. Entonces en la conferencia cuatro, estaremos escribiendo el programa y ejecutándolo haciendo de ese socket como no-bloqueante. Que este pensamiento en esta conferencia tres, ya que incluso entender cómo hacer el zócalo es no-bloqueante, Bueno, se utiliza la función eval y qué podómetros utilicé en esta conferencia al decir este conocimiento de la misma burbujeó en la conferencia tres estaremos escribiendo el programa y ejecutándolos, haciendo el socket como no chocando y como lograr multi-línea soy negación. Por lo que esta gobernando múltiples programas con el fin de lograr mi declinación de la comunicación celular por diferentes, diferentes enfoques. Entonces por último, hemos estado viendo la aplicación del socket. Por lo que señaló que vamos a estar viendo a los veteranos de AVR enchufar la línea cibernética. Son, no puedes ver los ejemplos del mundo real aleta en los que se utiliza el zócalo. Por lo que ahora de esta manera, estaremos cubriendo todas estas sesiones en esta demanda contra CBR, acompañando a todos y todo en sistema operativo Windows, así como para el sistema operativo Linux en C como Venecia, C plus. Por lo que lo estarás encontrando más interesante. Y se explica con programa de laptop y ejecución. Dependiendo de los Lena y arcoíris. Tus metas. No lo estoy, si comparten sus críticas como hombres, como lecturas como medio de no la carne y me han influenciado para publicar tales videos bajo demanda. S-bar, su requerimiento. Entonces Tank ustedes amigos. Muchas gracias. 2. SocketBasicsPart1 de la SocketBasicsPart1 la de la de la primera: Bienvenido a esta sesión básica socket, que es Betty, AS sesión de este veterano de goles completo, estoy haciendo que camines por diferentes temas en es lo que este socket, ¿cuáles son los tipos del socket existen? ¿ A qué me asocian la lógica dominante? Enchufa. Para entender en el enchufe enchufe Rami ahead session y por qué se requiere este socket. ¿ Qué métodos de socket están disponibles en Windows y wall? Los métodos de zócalo están disponibles en las unidades serán diferentes. Entonces empecemos paso a paso. Pasando al primer tema, ¿qué hace socket? ¿ Enchufa? Se trata de una combinación de los dos nodos. Pero nuestro próximo libro, o se puede decir comunicación entre los dos procesos. Entonces déjame hacerte entender a través del digrama. Pasar a los objetivos a un adulto no es la definición dice socket es una comunicación entre dos nodos. Entonces supongamos que estás teniendo n4, n1, n2, y n3. Y ya que es una comunicación entre los nodos o si netbook. Entonces déjenme nombrarlo. Entonces este es uno, éste es tres. Y la comunicación entre ellos, es decir. Y llamemos esto como a internet. Se vende. ¿Qué hace socket? Se trata de una comunicación entre los nodos o red más amplia que es internet. Entonces sí, puedes ver aquí, hemos pagado este n1 y n2. Estos son los nueve nodos y este nodo tres, como dije, cuando no originalmente emitió o discute detalle al respecto en realidad, para que entiendas qué barra lateral, así como cuáles son la comunicación que se lleva a cabo entre nodo uno y nodo tres y nodo dos y nodo es la comunicación de socket es a través de esta comunicación de socket o si nacional. Entonces esta definición que es una comunicación desértica de nodos azules. Usted ha visto auditar su cuello sobre la red. Nuevamente, ver comunicación entre dos procesos. Por lo que esto se puede hacer así procesos, cliente proceso uno, proceso dos. Y esto es lo que voy a cerrar. A pesar de que no lo hizo sobre los plazos. Entonces lo que veas aquí, entenderás mejor. Entonces él, me hubiera atrevido, aunque en el libro del cuello, que está escuchando en el puerto en particular y tener una dirección IP. Se llama como especie de uno. Entonces éste realmente necesita el dinero. Por lo que a cualquiera de los lados de un mecanismo en realidad uno debería estar escuchando en particular ordenó una dirección IP. Y o bien debería estar enviando la conexión en realidad. Entonces el que está escuchando, en realidad esto, el lado del modo ítem y el que envía la conexión. En realidad habría aunque nodos de cliente. Entonces estos son el nodo cliente, ese es el nodo uno y darle un remitente y acción, ya sabes. Y este Norte escuchando en realidad, así que este fuerte como este lado de la misma debería ser y este número de puerto en particular y debería tener una dirección IP. Entonces supongamos que tiene, se pregunta la comunicación entre diferente máquina host que tiene diferente sistema operativo, máquina diferente. Entonces ya sabes, Prudence, si estás conectado o si se mueve, entonces las direcciones IP de la máquina tonta, algunos datos duales presumen máquinas las cuales están conectadas o si netbook mucho se había tenido una dirección IP y Adam logro en esa dirección IP. Entonces si quieres que se lleve a cabo la comunicación de socket, por lo que uno debe estar alineado, uno debe ser sutil. Entonces este lado del arte, sobre el que puedes decidir, el mecanismo es que debe estar escuchando. Debe estar escuchando número de puerto particular así como IP direccionable. Máquina humana está teniendo dirección IP. Cada máquina está teniendo dirección IP. Por lo que debe estar escuchando, debe estar escuchando a lo particular. Se verían todos los mecanismos paso a paso. ¿ Qué es escuchar a detalle y qué es esta dirección IP? ¿ Cuál es este número de puerto? Entonces solo para hacerte entender, solo para visualizar, hacer, visualizar qué exactamente la luz del sol como hombres como clientes. Entonces eso, eso es lo que he mencionado. Por lo que pasa a la siguiente. Esta es una nota importante. Cada uno de los procesos que crean el socket para la comunicación. El siguiente punto, los dos procesos pueden comunicarse entre sí y dobló el socket tiene el mismo dominio así como tipo de socket. Así que no te preocupes por este dominio de direcciones y el tipo de socket, todas estas terminologías y te hagan entender y más diapositivas. Entonces sólo entendiendo que más importante o dicen que a este proceso le falta realmente media comunicarse. Uno para comunicarse por ahí. Y midieron a través del zócalo. Debiste tener socket realmente creado para ellos. Entonces supongamos que nadie pensó que como nodo cliente, tener que atracar con la ruta sur o qué? Esta internet. Entonces tenemos que crear un socket para este nueve nodo. Y tenemos que crear el socket para el modo servidor. Y el segundo sobre esto es decir que si estás creando un socket para los nueve voltios, digamos nodo uno. Si también estás creando el socket para el software que es el nodo tres, entonces el tipo del socket. Y entonces presumiblemente lo mismo. Entonces voy a hacer tu lo que es el tipo socket y lo que domina los centros. Pero sólo fabricante de herramientas, sin duda que FindAnswer, Por qué debería tener la misma dirección domina ocupado. Entonces vamos a ver de qué se trata todas estas ideas dominantes. Entonces este dominio de dirección, que pensé en diapositiva anterior. Entonces si hablas de dirección Doumani en nuestros tipos de comida de droga. Y suponiendo que la primera es la descripción del dominio unix es que los dos procesos. Pero sólo compartiendo el sistema de archivos común, la empresa le dio la dirección del socket. Será la cadena de caracteres, que luego es entrada en el sistema de archivos. Entonces el dominio de direcciones, que he dicho que es primero uno es un dominio unix aunque es algo sencillo en realidad que si los dos procesos mayores de 90 para comunicarse entre sí por acciones le darán un convertirse en negación en realidad a través del sistema de tuberías común. Si pensó con respecto a lo aislado estará compartiendo el escocés vía sistema. Y la otra cosa es que se dirige misionero, sea que para este socket con un tipo de datos de cadena, que esto se trata del dominio unix en realidad. Y yo no soy bueno. Dipole, la dirección domina ese dominio infinito. Entonces V2, para estar viendo este dominio de internet, lo estarás usando, más comúnmente utilizado en realidad. Por lo que en el, en la sonda imagen y recuperación recuperar unidad milagros incrustables se utiliza más comúnmente. Entonces, ¿qué pasará aún? ¿ Aquí? Los dos procesos que se están ejecutando en esa máquina host se comunicarán a través de internet lo mismo, lo que no sé. Para que dos procesos digan que el nodo uno y el nodo tres, porque aquí el n1 está suministrando nodo y el nodo tres. Entonces nodo, por lo que estos dos nodos en realidad el levantamiento en diferentes máquinas. Y por lo tanto se van a negar o lo que internet, si comunican lo que realmente significaban esta bobina, leon teniendo en este dominio sobre el homing infinito. Y las direcciones del socket de la is-a dirección intencionada era mi parece simplemente decir que sí, que las direcciones o esta máquina o esa máquina que se denota por el evento que ocurre por dirección IP o dirección IP de la máquina me visitó en hacer un tambor. Y este conjunto de ítem ONE, en realidad, tendrá la dirección IP de la dirección IP de la máquina num. El satélite está funcionando. Por lo que es tan simple como se puede entender y este diagnóstico. Por lo que V0, V0 haciendo uso del dominio previsto porque esto es más comúnmente utilizado. Entonces todo esto se trata de datos de entropía sobre su dirección de internet estará en Kentucky grupo it. Entonces todo esto se trata de este dominio, que hemos pensado y este tipo de socket. Por lo que hemos visto en la diapositiva anterior en realidad la nota importante en realidad proceso manual que se comunican entre sí. Hombre están teniendo lo mismo o me destruyen a mí y a San tipo socket. Por lo que ahora puedes entender que si el nodo está suministrando nodo y el nodo tres es un conjunto de desconocido. Y en realidad puede que tenga que cumplir con la comunicación sobre el socket usando el socket entre Norman y el nodo v. Así que deberían tener el mismo dominio de dirección. Entonces no sé, debería tener en realidad que este dominio como el dominio unix, si está teniendo dominio unix que celular 3D conocido también debería tener el dominio unix. Y si quieres el código sangrado, en realidad que te expliqué, entonces lo normal también debería tener dominio de cena como dirección. Y el nodo tres, hay mucho más detalle también han previsto albinismo en la cena. Entonces aunque deberían tener lo mismo, o deberían tener, ambos deberían tener unidades para mí, o deberían tener, sin embargo, infinita. Y lo segundo es que pensaste que debería tener el mismo socket derecho vuelta al nodo uno y al nodo tres con el fin de vehicular la comunicación sobre el zócalo. Entonces, ¿a ver qué hace este tipo de socket en realidad? realidad hay dos tipos del zócalo. Por lo que eso es un positrón es solo socket de corriente y el socket de datagrama de punto menos sin fondos. Entonces veamos qué es este socket de corriente. Por lo que utiliza el protocolo TCP. Por lo que este es un protocolo de control de transmisión. Entonces, ¿qué sí rompió epistémicamente el ciclo, para que pasara una vez en realidad, que probablemente hice. Por lo que el protocolo TCP tendrá conjunto de reglas realmente enriquecer el socket de flujo será o ser. Y sí, el socket in-stream viene se comunicará como una corriente continua de protector. Entonces, ¿cuál es el comportamiento del socket de corriente? Por stonewall, utiliza el protocolo TCP oscuro y la actividad de comunicación tampoco. Yo estoy aquí, se ve la arena en realidad, si se utiliza zócalo de vapor, por lo tanto la comunicación será bidireccional porque una vez que se desarrolle esa conexión, en caso de este socket de corriente continuamente cinturón a un basurero v3 transporte. Esto sucede en caso de socket de corriente de puntos. Y en caso del zócalo del datagrama. Utiliza UDP, es Protocolo de datagrama de usuario. El mensaje completo se enviará a la vez. Entonces esto se trata del zócalo del datagrama. Entonces vamos a ver de este protocolo TCP y protocolo UDP, como les dije, no se vean todo significan reglas de configurar para este TCP se van a establecer raíces dopadas. Es diferente a la de la UDP. Y hemos visto socket de corriente es corriente electoral continua o productiva y se transformará en donde aquí con mensaje se enviará de inmediato. Entonces ahora veamos qué hace este TCP y UDP. Entonces una vez que veas esto, TCP y UDP entenderán cuál es el socket de corriente que necesitas estar usando, y cuál es el socket de datagrama. 3. SocketBasicsPart2 de la SocketBasicsPart2: Acudiendo al protocolo de comunicación. Por lo que esto se llama como protocolo de comunicación, lo hace UDP, protocolo de datagrama de usuario. También se denota de esta manera que se subraya ins y este suelo, eso es lo que el diagrama. Entonces, ¿qué es esto que ganas como Protocolo de datagrama de usuario. Entonces sí, no, todo el mensaje serán carreras marcadas a la vez. Eso es cuánto comer en caso del usuario dado punto de entrada. Y no es confiable. Porque podría no es confiable porque supongamos que está enviando los datos de un proceso a otro. Y supongamos que C nueve descendente algún día los datos del servidor de windows oscuros no son paquetes formales. Eso es num bytes. Si algunos datos se pierden en el medio de, aunque tampoco lo hacen esos conjunto de OK. En ese caso, eso no entenderá como cualquier pérdida en datos del cliente al servidor, y también el cliente no será el mismo día daños perdidos. Se puede entender cómo lo hace. No es confiable en absoluto porque tenía aunque se pierda el paquete, entonces uno para que el cliente no vuelva a hacerlo, dijo San Diego ¿Qué? Has estado a bordo que también recogen el ítem de la encuesta o en realidad que estos paquetes se pierden. Por lo que esto se llama como poco confiable. Y sin embargo es sin conexión porque no hay conexión que han amado en realidad no va conectar realmente a un lado. Pero todo el nodo punto sobre este Protocolo de datagrama de usuario. Porque debate En realidad la razón por la que, este cartel, si bien no va a tener a los Borden que lo hacen sin conexión en realidad, por lo tanto, esto reduce su tiempo en realidad que nos ordenó en alguna conexión. Otra cosa es que el paquete es grande, no le enviará una viga. Por lo que esto también es una cosa que evitará su tarea en realidad. Por lo que megaciudades en ella es un ligero porque no haría tal tarea en realidad. Y también no hace el chequeo del editor. Entonces eso es que los paquetes metálicos se pierden de lo que había sido no otra vez, lijado. No va a hacer aunque conexión editor. Simplemente son los mensajes. No va a querer que en realidad por encima de la pérdida de paquetes y no hay conexión. Entonces todas estas cosas, cuando consideras acuñado como un ligero porque todas las estrellas, evita sección. Y tampoco es confiable en absoluto. Pero proporciona radiodifusión en caso de UDP. Entonces ejemplo, el ejemplo en vivo de UDP que te puedo decir es el juego multijugador ligero. No hice lo que sucede en realidad en los datos de envío de cliente a servidor, entonces estos datos no serán arena. En realidad la razón en realidad en caso del juego nocturno multijugador porque esto lo hará, esto evitará en realidad que disrupción o amplia este rezago en realidad están nuevamente enviando al remitente del mensaje que recibió por este estado de ánimo o afectar el juego si es ligero. Entonces para evitar este tipo de casos realmente utiliza por UDP porque no envía el paquete. Otra vez. Pero la siguiente diapositiva, veremos cuál es este protocolo de control de transmisión TCP que se denota por calcetín y el arroyo escolar. Por lo que Yarn poster boy, enviará y recibirá las corrientes de byte de plomo arbitrariamente. Por lo que los flujos serán enviados directamente del remitente al receptor, del cliente al servidor, o viceversa. Por lo que la comunicación puede ser de escalado solo, nueve, viceversa. Mejor, pero hablamos de esta programación de socket. Puede ser de uno, de remitente a receptor, de receptor a enviar o así sueño con los bytes se pueden enviar en realidad en caso de este TCP y caminar por Plato pipa se puede ver y el todo consejo para dejar sobre el arquitecto y entregado en regla. Entonces ya que este TCP estar viéndolo como un confiable, pues al apoyar el petróleo, más viejo por inestabilidad en el formato correcto se va a transmitir del remitente al receptor, así como el orden en realidad del paquetes. Entonces se opone. Todos los datos se dividen en paquetes pequeños. Paquete uno, paquete dos, paquete tres desde el centro, se enviará al receptor. Es de cliente a servidor. Entonces en el receptor que no se dice si será el mismo en el mismo orden de secuencia y el orden en que se estaba enviando desde el cliente o desde el centro. Por lo tanto, es mucha confiabilidad. Además de hablar de este ECP, pérdida masiva de paquetes transitorios de Adobe, se bacause. Por lo que no se configure la conexión y el mantenimiento. Por lo que no hay definido en un cierre o visitas, la conexión o la conexión se rompe. Por lo que es muy confiable en realidad algunas fotos perdidas. El otro extremo conocerá que hay una pérdida financiera. Por lo que también, es confiable porque si se pierden algunos paquetes, nuevamente, los paquetes se pueden transferir del remitente a días. Cuentas por Cobrar. Un peso pesado en realidad, porque todas estas tareas que necesitan hacer necesitan reenviar los datos de los datos se pierden. Entonces necesita hacer al editor comprobándolo envía un dato actual para que tenga hacer esto mientras comprueba el error y lo rectifica. Por lo que sólo arranques se asociaron con este TCP. Y por lo tanto es un pesado. Por lo que no soporta radiodifusión y es menor que la de la UDP. puede entender por qué TCP más lento porque hace esta tarea realmente comprobando el error de rectificar orientado para enviar la propuesta, ella, haciendo una conexión a través del receptor, todas estas cosas, tarea, tácticas, tiempo. Por lo tanto es menor en comparación con el UDP, pero es más confiable, más preferido en realidad dependiendo del uso. Por lo que dependiendo del uso, puedes usar TCP y puedes usar UDP. Entonces cuando estás usando HTTP venue o usando HTTPS, ya sabes, siempre que estés visitando cualquier sitio en realidad que sea HTTP, usando HTTP colon WW, bulldog bond lakebed, y nunca das, invierte ese formato. Entonces este HTTP o HTTPS que es más seguro. Si agrega un HTTP. Entonces todos estos HTTP, HTTPS. FTP, Protocolo de transferencia de archivos o telnet. En realidad todas estas cosas en realidad usan este ECP, eso es protocolo de control de transmisión, y este es el socket V6 en realidad, ahora estudias más al respecto. Y también desde MI perseguí sobre HTTP. Por lo que también te explicaré en la última conferencia. Últimas conferencias en realidad estarán teniendo la programación en realidad de HTTP usando BCE. Entonces incluso eso no fue C. Tan simple comunicación de cliente servidor usando ECP también veremos otro programa poco práctico de distribuido usando el PCP. Cómo se comunican realmente cómo se comunica el navegador con el servidor Apache, cómo sucede esta comunicación. Http eslovaco nueve o si TCP. Entonces todas estas cosas, lo cubriremos. Entonces, no te confundas. Si tú, si hablo de este dominio y estás silenciado MOOC paso a paso. Entonces veamos en realidad. Entonces espero que hayas entendido qué es este PCP y qué hace esta UDP pasando a la siguiente diapositiva. Ahora, este consejo, así también lo que mencioné en mi anterior diapositiva que los hombres decidan cuando estoy jugando me comunican si están teniendo el mismo tubo de toma y el mismo dominio de dirección. Por lo que tipo de socket que has visto stream socket. cliente del servidor debe tener ya sea socket de flujo para comunicarse entre sí o deberían haber sentido que ambos deberían tener el socket de datagrama para comunicarse entre sí así como deberían tener el mismo. Y hay un dominio en realidad o domino independiente aún significa que cualquiera de ellos debería tener en una increiblemente, o ambos deberían tener unidades para mí. Entonces ahora volviendo a eso. Está bien. Sí, éste. Así que decide por el cliente final en realidad durante la aplicación de red socket, tienes diferentes comportamientos. Pero el modelo general para crear un CQI de streaming, PCB, servidor IP y cliente. Entonces lo que todo esto describe es que decir que el satélite implica en realidad tenemos que desarrollar el socket para ambos. Esto lo hemos visto en un muy de tu lado también. ¿ Tienen hasta tomas diferentes, diferentes? En realidad, si quieres comunicarte entre ellos, requieren aplicaciones de Gaddafi o sockets de defensa. Y los dos, y estoy creando el socket en realidad. El segundo que fue la creación del método de socket, realidad los métodos o sedimentos en la creación del socket del cliente será lo mismo. Por lo que esto puede incluso estar empezando el próximo mes. Visita en realidad diferentes métodos los cuales se utilizan mientras el zócalo para la comunicación sedimentada del cliente, veremos formando esos elemento de trabajo ocurrió psi u, y de esta manera se procede. Entonces vamos a ver este lado, red webinar que se utilizan por lo que sus métodos de servidor socket de defensa y diferentes métodos de red de zócalo ciego de calcetín. Ahora vamos a ver. Ahora también en estos métodos y pretender que no estabas todo está ocupado trimestre cuando la máquina de gol, ¿qué papel está presente para las máquinas Linux? Entonces sólo engendrar hablar. En realidad se produce este movimiento neto el cual está listado para el satélite. En realidad, enchufes es casi similar y en realidad bastante ventanas y nariz puntiaguda. Sólo Manon construyó uno para API no lo es. Los métodos no están presentes. En caso de la lista Unix, todos ellos a la vez están presentes en KSR Unix. Entonces vamos a ver. Por lo que este lado socket donde los métodos de red que se utilizan. Entonces, ¿qué significa estar haciendo y ningún lado evitó sitio realmente para crear el socket. En realidad, en caso de Windows. Entonces ventanas, tenemos que inicializar w. te voy a explicar lo que es una justicia. Te estoy dando la visión general de qué, qué métodos realmente usando discusión detallada en la siguiente sesión realmente va eso y te explico cómo, qué es WACC, cómo inicializarlo. Por lo que esto se utiliza, este método se utiliza en el caso de Windows. Por lo que esto no se usa en el Linux. El siguiente momento que nos seduce métodos lado a lado, que es una vigilia había enumerado aquí. El siguiente método es crear el socket para este WSDL inicializado y se supone que debe hacerse mientras Windows no te molesta un Linux. Pero crear un socket es generoso. Por lo que todos estos métodos que se listan es general tanto para Linux como para un minuss. Por lo que creando un socket, realidad tu grado en un socket en el lado del software, tenemos que atar el socket. Entonces ahora este encuadernador escucha, acepta todos estos inexplicables tú en Nevada conferencias que se dedican a realizar acción de explicar qué métodos están presentes. Lo que vi fue ocho y lo que todos los parámetros? Sí. opone a pasar a ella. Cuál es la funcionalidad de cada uno de ellos en realidad para el sitio celebrar como Melissa Klein. Entonces al terminar el socket, así pero te he explicado que Panamá dijo cuando tomó mentira, cómo comunicarse o los datos fuera de línea. Entonces, ¿por qué no debería escuchar un número de puerto particular, una dirección IP? Es decir, ves esto, bind, el socket significa que tenemos que vincularnos al número de puerto particular. Ir con real explicado a detalle en la próxima conferencia. Y escuche a los que están fuera de la vitamina B, escuchando en ese socket, una vez que se une al número de puerto particular, es cualquier desplazamiento en la dirección IP. Está teniendo una dirección IP. Escuchará en ese socket que está comprando para decidir qué escuchar. Y entonces simplemente conectará unos, esa ceguera Y conexión, entonces saldrá de la conexión. Por lo que tiene que hacer estas tareas en realidad antes de aceptar. Tiene que vincularse a número de ODO particular. Tiene que escuchar ese número de puerto y explicar con detalle. Y entonces tiene, entonces lo es, es un bloque aceptando esa conexión, y esa conexión se acepta, entonces es capaz de enviar los datos al cliente y recibir los datos de esa mina. Y otro método es último método nos desconecta perdiendo realmente la conexión. Entonces este método de orden, estos todos los procesos sucede en la mirada en la acera exterior, todo encontrado en la funcionalidad que tenemos que hacer en realidad. Y chico, las ventanas extrayendo es que tenemos que inicializar los riesgos de Ws. Estas cosas son comunes a Linux así como Windows completando socket a desconexión. Bueno, no, pasemos a entender para ver qué métodos hay para el lado del cliente. De nuevo, lo mismo. Tenemos que inicializar Ws en caso offline referido también. Por lo que este es el PNUMA en Windows, no es aplicable para Linux. Tenemos que segunda cosa, tenemos que crear un socket vendido streaming. Conozco la creación de socket. Tenemos que hacer lo que el cliente así como para el servo ya que estos son los diferentes procesos de aplicación dejándole diferentes sockets. Creado en realidad por, como les dije, cuatro, dijo, ¿Qué voy a comunicar? El socket debe tener el mismo tipo de datos de socket. Hemos visto el tipo socket. En realidad, se puede ver, puede ser apoyado por Akos. En realidad hemos visto los tipos de socket de corriente. Tienes amigos mayores, stream doc socket. Debería estar teniendo ya sea socket de corriente en cualquiera de los datagramas comprados. El cliente y el servidor deberían tener el mismo socket en realidad. Por lo que tenemos que crear un socket. Por lo que se puede ver en las conferencias en realidad cómo crear un socket, cómo dar a este dominio ocupado o competidores. Y entonces lo entenderás, entonces tenemos que conectarnos. Entonces como les dije este esquema, la regla es simplemente conectar con el alma sabrá conectar con el solar. Porque ya el lado del mismo es vinculante para número de orden particular y escuchar ese número de puerto. Entonces con la ayuda de eso solo aunque soy me conectaré al servidor. Entonces no te preocupes por todas estas funcionalidades. Simplemente te estoy dando un a ¿qué haces trato? Discutiremos, ya verás en la próxima conferencia que está dedicada a todas estas macro explicación. Y luego enviar y recibir la demanda tal corte a través de la salva que escapó había estado enviando los datos además de recibir los datos. Y luego el último. Entonces estos son otros métodos para esos y mi sitio. Entonces ver en realidad estos métodos. Ahora terminamos con los riesgos de zócalo. Entonces, ¿qué todas las cosas empieza Stephen? Esto es sólo un nulo. ¿ Qué realmente evitan los temas que estaremos cubriendo En realidad, en nuestra fila. Estaremos cubriendo el modelo OSI, es decir, modelo de interconexión de sistema abierto. Esto va a ser estudiando, este es un modelo de referencia de netbook. Es muy importante. Se llama diagrama de bloques por capas de red ISO le dará la visión general de todo el sistema de red. Simplifica en realidad, sus redes viales es sistema de red complejo en componentes diferentes, diferentes y describir cómo estos componentes se comunican entre sí disciplina ParaView. Para también deshacerse del problema lo hace o entenderá cómo un día enviar realmente mantener los datos enviados de remitente a receptor y viceversa en diferentes, diferentes procesos, en realidad de manera diferente por diferente, diferente capa Bode diagrama. De lo que todas las cosas eran punto O alelos entra en cuenta. Cuáles son los diferentes ejemplos, protocolos fácilmente o usos. Entonces esto, lo he simplificado de manera muy fácil en realidad. Y esto es muy importante para todos aunque. Estudiantes universitarios. Umbrales de pensamiento para desarrolladores, así como aclarará tus conceptos básicos simplemente para hablar de ello. En el siguiente tema, que estaré cubriendo la línea de la acera y go socket APIs. Ya que lo que hemos estudiado aquí en coincide disponible para ventana. Por lo que fue un lado del cliente para la comunicación de socket que estaremos estudiando en esta conferencia, te estarás hundiendo en la Guerra Fría. Pero ME hace lo que todas las funciones se utilizan en detalle. Y luego estudiaremos lo que se dice sobre el método de socket de línea Linux. Y luego construimos un programa para PCP, dijo sobre la comunicación de nueve sockets en la pizarra, pero estarás escribiendo el programa para comunicarte. Entre el amigo forzado archivo usando este protocolos TCP tienen de mente y veremos cómo se comunican, cómo el servidor se comunica con Ty y ayuda. Voy a enviar un mensaje al servidor. Cualquiera que responda a esa línea. Entonces esto, haremos el ejemplo práctico, correcto, pero programa uno por ID y lo ejecutaremos. Entonces lo siguiente, que será otra cosa que pensé en realidad esto es muy importante. Entonces esa es una razón que estaré cubriendo con su programable. Entonces ya que te dije lo que es HTTP, usa TCP. Entonces incluso ver este programa en realidad, veremos qué hace HTTP y la programación de STDP, llamado ID de bloque encore. Para que puedas entender qué es el sitio HTTP del otoño. Por lo que te parecerá más interesante porque la vida cotidiana. Ahora el internet se está volviendo tan común para todos ustedes que estamos acostumbrados a que realmente sea tener simplemente algo que tenemos que encontrar realmente estar disponible a través de Internet. Soldados de Aquiles siempre tienen esta cosa vas a estar al tanto de lo que es HTTP? Simplemente dar HTTP colon o nombre del sitio en realidad, que desea visitar. Level te explicó cómo se comunica el navegador, cómo lo que sea que le des el nombre del sitio en realidad en tu navegador, que es un navegador Chrome, navegador Internet Explorer. Cómo le habla al robot en realidad modismo cómo obtiene los datos y cómo se llega. Guitarra, en tu nivel de aplicación, escribes el programa en realidad con la ayuda del conocimiento que hemos estudiado, la conferencia de criadores, te identificas como mucho fácil. Una vez que solo tienes que empezar, tienes que escribir el programa conmigo. Y entenderás embrionaria Conferencia siete, dado lo que yo blocky así como enchufes no locales. Y estaremos escribiendo un programa y ejecutándolo para entenderlos mucho mejor. En la próxima conferencia, estaremos viendo cómo lograr la comunicación de socket de servidor multi cliente. Por lo que nadie obligado a estar enfermo enfoque usando el hilo. Para que yo diga que todos decían una pieza usando eso. Y los estaremos viendo uno por uno. ¿ Qué hay con el fin de evitar esos enfoques de personas desfavorecidas con el fin de lograr una decadencia de la comunicación del socket del servidor. Entonces aquí lo he dividido interdependencia y conferencias con el fin de entender cómo lograr mi declinada comunicación de socket de servidor. Por lo que hay dos enfoques. Entonces en esta conferencia, nos veremos por el primer enfoque, es decir mediante el uso de la función selecta. Y estaremos viendo cuál es la función selecta y cómo la usas, qué se requieren todos los humanos. De esta manera, verán cómo trae mi comunicación de socket declines. Por lo que esta conferencia está dedicada para eso. Después estaremos escribiendo el programa en la próxima conferencia, el programa mediante el uso de la función select. Por lo que aquí en esta conferencia estaremos entendiendo qué es la función selecta, cómo la usas. En la conferencia nueve, estamos escribiendo un programa y mediante el uso de la función select en el sistema operativo Linux. Conferencia diez. Logro declinar la comunicación del servidor mediante el uso del segundo enfoque. Entonces incluso ese segundo enfoque es haciendo que el socket no se bloquee. Por lo que veremos cómo hacer socket no es bloqueante. requieren de qué se utilizan todas las funciones y qué son los humanos. Entonces con esta información en conferencia, entonces procederemos más allá o conferencia lemma que un nuevo escriba los programas y lo estará ejecutando mediante el uso del segundo enfoque al hacer el socket es no-bloqueo. De esta manera, estaremos viendo cómo lograr mi comunicación de socket de servidor declinado y un sistema operativo inverso. Entonces la última conferencia, veremos la aplicación o socket. En estas áreas, se utilizan socket server, cliente y lo estaremos hundiendo dentro ejemplos del mundo real de que se utilizan todos los servidores socket. Entonces todas estas cosas que he mencionado que estaremos cubriendo, y te he hecho caminar por todas estas ideas dominantes de socket, lo que todas las cosas son necesarias para el socket. Por lo que VI hizo para la primera conferencia de nuestra escuela compite socket V6 siguiente BOD POD, esta conferencia que he mencionado en realidad, es decir, por lo que este modelo OSI, net volt modelo de referencia, más denso, multiplicando todas estas cosas que estarás cubriendo paso a paso. Entonces gracias. Muchas gracias. 4. SocketSession3 Part1: Hola, bienvenidos a la segunda sesión del curso que es la arquitectura TCP IP, que también se llama como todo como modelo yo. Dag es modelo de interconexión de sistema abierto, también llamado como modelo de referencia de red. Esto te dará la visión general del sistema de redes, explicándote cómo estos componentes se comunicarán entre sí, cómo se transmitirán desde remitente, receptor y este básico medio, tu socket deszips DM, So redes. Entonces vamos a entender estas redes y vamos a entender cómo llegar a ser negado. Por lo que obtendrás un panorama general del zócalo y sus componentes internos. El, Vamos a empezar a salir de la BC, o uno de estos temas que se menciona en esta diapositiva, es decir, qué es el modelo OSI y la importancia de la misma. Diagrama de blog del modelo OSI B. Luego ilustran una discusión de los componentes de esta arquitectura, ilustrando la comunicación de estos componentes entre sí. Y por último, estaremos viendo ejemplo del mundo real para ilustrar este modelo OSI, para ilustrar cómo estos componentes de red se comunican entre sí. Ese es el modelo OSI, que también se llama como arquitectura en capas de redes. Eso es también que la arquitectura TCPIP. Entonces empecemos con mi mamá y entendamos este sistema de redes, cómo estos componentes se comunican entre sí. Entonces, ¿qué haces en la siguiente diapositiva? ¿ Qué es el modelo OSI? Por lo que OSI significa interconexión de sistema abierto, que también se ha ido red con modelo de referencia. Por lo que este OSI, te dará la visión general de todo el sistema de redes. Por lo que es un petróleo es simplificar el concepto de red en componentes de red pequeños y pequeños y describir cómo estos componentes de red se comunicarán entre sí. Entonces esto le es de mucha ayuda. O las técnicas de red Jian Wu solucionan el problema de redes porque simplifica este negativo cuando están esperando sistemas y hacen componentes pequeños y pequeños. Explicarte cómo el arte de comunicarse entre sí. Para que sea cual sea su problema, que pueda solucionar qué capa se produce este problema y pueda salir. Entonces así es como lo simplifica. Entonces esto es lo que he descrito en esta diapositiva. El otro punto es que lo que mencioné anteriormente solo te brinda la visión general de todo el sistema de redes, pero también simplifica el problema del técnico de redes. ¿ Quién no es problema preocupante referir en este modelo OSI, se compone de siete capas. Es decir los siete componentes como ver qué componentes están presentes. Si bien componente muy superior abelian, que está presente en este modelo OSI es la capa de aplicación. Por lo que este detalle te he descrito, no te preocupes, te voy a explicar. Cuál es la aplicación cerca de lo que está presente, todos estos nodos uno por uno. Y vamos a estar viendo también qué protocolo y estado conjunto de balas están usando todos estos Leos. Y más adelante también veremos cómo la vista del modelo OSI en sincronizarla con el ejemplo práctico. Te explicaré ejemplo del mundo real. Y te voy a explicar cómo estos Leo está trayendo los datos de remitente a receptor. De hecho, ejemplos de comprensión humana. Entonces, vamos a ver. 5. Socket de la de la de Socket en la de la de la: Esta es una capa de aplicación que es muy superior. Leo entonces es la capa de presentación, Sesión, Capa de transporte, LEO de red, capa de enlace de datos y capa física. Entonces todas estas cosas que he descrito aquí con los ejemplos en realidad, pero vamos a ver una por una. puede pasar por él más adelante y si digrafo, Eso es arquitectura. Entonces empecemos con eso antes. Eso es trato de aplicación. Entonces, ¿qué hace esta aplicación? Por lo que proporciona la interfaz de usuario. Por lo que simplemente hablar uniformemente de aplicación puedes entender la aplicación es la que te ayudará. Paso uno, usuario arbitrario interactuará con. Por lo que te proporcionará la interfaz de usuario. Entonces, cualquiera que sea la acción que caigas, caiga en la aplicación que se reflejará, entonces llegará al Leo más bajo desde arriba Leo. Por lo que utilizas una necesidad de hacer alguna acción con el fin de obtener la respuesta adecuada. Para que la acción que se realiza, se haga en el componente de aplicación que está presente. Y es decir, ¿eso qué pasa con la aplicación Leo ejemplos o FTP? No, FTP se utiliza para planes si phi. Entonces diez net también, ya sabes, tenemos que conectar aplicaciones de correo electrónico u otras aplicaciones. Se define el orden. Entonces la siguiente capa, que viene como presentación, HACER SO ¿qué hace esta presentación Leo? Entonces en esta presentación, Leo, lo que sea que soy movimiento o conversión de datos se requiera en esta aplicación se llevará a cabo en la presentación Leo. Por lo que simplemente decide descrito aquí también. Se utiliza al formato de los datos. Para que puedas comprimir o descomprimir, cifrar y descifrar. Pero Gita, ya que se requiere deconvolución de estudio, por lo tanto, es forma admin bajo Deepa vendrán 50 empresas y grupo Paralímpico. Entonces, sin embargo, cualquiera que sea el formateo se estarán llevando a cabo los datos. De qué aplicación al tomar esta presentación, Neil y la otra encriptación de datos se lleva a cabo, así como secta de carácter y no fue explícita. Entonces ejemplo también ahí. Por lo que JPEG, PNG. Entonces ya sabes, estas son las hormonas también su formato fijo. Por lo que estos son diferentes, diferentes tipo de formato antiguo. lo que puedes entender este ejemplo en sí ahí TO cifrado de datos se lleva a cabo datos y viaje y se lleva a cabo en caso de JPEG PNG. Sí, estos son formatos diferentes. Entonces cuando hablamos del formato de datos y esta capa de presentación entra en un arma. Entonces no te preocupes, te explicaré el ejemplo del mundo real después de explicar estas capas. Y se puede sincronizar con todas estas noticias. Eso es presentación, aplicación en aceite y esta manera incluso entendiendo qué realmente entonces qué es la sesión NEA, capa de sesión, va a escribir el nombre en sí, dice que es la conexión que puedes entender. Por lo que abre y cierra sesión con esa boca de empresa, por lo que es responsable pero abrir la sesión para controlar la sesión, hipotecando la sesión que se hace post-doc remoto en máquina de guerra. Y así esta sesión, la OED en realidad, así esta sesión, cuál de los bloqueos que más, quién sabe que es una conexión que Richard desarrolla con la conexión virtual remota. Por lo que masacró por el propio nombre. puede entender que no es conexión real realmente necesita alguna conexión virtual. Eso se establece, por lo que también se describe como una conexión de transporte menos o sin ninguna comunicación de red. Por lo que se puede entender que existe un antiguo pero sin ninguna comunicación de red. Entonces por lo tanto se da el nombre viendo conexión, entonces se da el ejemplo de la capa de sesión, te explicó en realidad, es decir, eso ilustrará usar toda la aplicación de correo electrónico. Entonces en el rol de manera de aplicación humana, tenemos que enviar cualquier divertido anfitrión remoto de Buda. Tenemos que transferir el Pine Al host remoto. Entonces qué pasa en, aunque bastante preestablecido, no había más que un proyecto de ley de la CBO enviar los datos a la sangha de contar la información sobre cuánto se reciben los datos ahora. Por lo que es un pequeño intervalos cada vez que se está transportando el archivo. En caso del correo electrónico al host remoto, este crédito por cobrar le dice al remitente cuánto se están transportando los datos. Ahora. Entonces eso sucede en pequeños, pequeños y gobiernos y 3h ensamble y doble supongan en medio o conexión de aguja se pierde de ahí abajo. Para que no hayamos discutido arriba o debajo de esta capa de sesión que es una marca, que es una capa de transporte. Por lo tanto denotan hemos discutido sobre la presentación de la aplicación y las sesiones de charlas nomiales. Por lo que por debajo procesión cerca de esa capa de transporte. Entonces si la conexión desde la capa DOM, es decir capa de transporte, se pierde, entonces ¿qué pasará en ese caso? En ese caso, la conexión del vigilante estará existente. Entonces lo que conectarás no se perderá. Y un inversor, esta sesión, la auditoría recibe una nueva conexión de transporte, luego enviando los datos. Nuevamente, el currículum extra de Reddit fue detenido antes. Por lo que esto mencioné también básicamente la sesión de control de apertura y cierre. Se hace por la capa de transporte que está a la baja hasta esta sesión. Se puede entender cuál es la sesión cerca de la columna vertebral necesita ser corregida la ortografía. Ahora. Entonces cuando hablamos de rotación de Euler vía así que ahora hablando de la DownloadActivity, pensando con la sesión, también dibujamos en lo que es la capa de transporte. Capa de transporte. Transferirá los datos por el propio nombre. Se puede entender, y tiene una conexión incorporada, azul-blanco, cualquier conexión entre el anfitrión. Por lo que transferirá los datos y proporciona conexión de extremo a extremo entre el host. Por lo que esta capa de transporte, en realidad, se puede ver la conexión entre tabletas entre el host puede ser confiable, eso es una acción o puede ser poco confiable. Están desconectando esa alma. Espero que así por esto confiable y poco confiable, podría estar comprendiendo que hemos visto en los informes buscando sobre TCP y UDP, met y B han visto PCP confiables. Europeos, el no-negro no es confiable. Y también hemos visto que TCP es confiable porque lo es, se asegurará en realidad todos los datos son. Al receptor correctamente en el orden correcto que ooh, si alguna perilla puedo desalojar, centro lo notificará al receptor y nuevamente se podrán transmitir los datos. Por lo que las predicciones editor también siempre que sea nivel de peso pesado porque todos los muros de madera en la tarea una corrección de error para enviar los datos si el paquete se pierde y desarrolla una conexión. Por lo que todas estas cosas suceden en caso de masa TCP es una conexión confiable. Hemos visto una conexión poco confiable. Es decir, que UDP no tuvo ningún error, se prohibirá la corrección. Y no es o, es mejor a bordo que aunque un paquete sea ruidoso, no envíe un dato y no notifique una vez que haga eso, un CBO. Por lo que aquí es muy ligero. Por lo que todos estos puntos que hemos discutido, toda esta capa de transporte con la ayuda de sus familias porque están vinculados entre sí. Se puede ver cuando hablé de la sesión cercana, yo estaba aquí fue lo que andaba con este DOM cerca de capa de transporte. Ok. Entonces ahora porque se están comunicando entre sí, nomine hablar de transporte aquí. Nadie que acuñó su pensión que Hale-Bopp red aquí. Entonces eso es otra vez ahí w. Entonces esta capa de transporte con la ayuda de esta magnéticamente ordenó su propia dirección IP, y construye datos de Sander. Por lo que aunque el widget de datos recibe capa de transporte de vigilancia, recibe de la capa de sesión en realidad lo, con la ayuda de la descarga de esos datos, abordará los datos. Y así el ejemplo que les dije es la conexión de datos TCP uno y UDP es sin conexión. Por lo que la siguiente capa que está presente es la capa de red, que es la descendente a través del transporte aquí. Entonces, ¿qué hace esta red Leo? Es es es rutas que está ramping significa dar su dirección. Entonces sí, DO paquetes de datos sobre detalles Transporte agotado significa dar la dirección a ese paquete a la que debe estar viajando, ese paquete debería estar viajando, por lo que será redondeado. Conjuntos de datos darán su dirección, darán el paquete RP de un camino, debe viajar por lo largo descendido a la política, pero que esta ruta, por lo lo hará, lo hará, volverá a montar los paquetes de datos porque envía un paquete de los datos, unos pocos paquetes de datos de remitente a receptor, sitio CBO, se reensamblará, recogerá todos los datos juntos. Entonces esto se trata de la vista de red. Por lo que el propósito principal de esta demo nuclear también se aborda los paquetes. Por lo que se le había proporcionado su dirección al paquete, ¿no? Que ese paquete entenderá realmente por qué camino debe recorrer. Y a través de internet, puentes locales y tío y ejemplo es el IB. Por lo que también entendí esto. Por lo que rodará es en realidad dar dirección al paquete que está ramping, nombre remontar el paquete de los datos. Y su propósito principal es dar la dirección al paquete para que el paquete entienda por quién deben pasar. Internet, puentes locales y auto ejemplo es IP. Por lo que la siguiente capa está ahí capa de enlace de datos. Entonces, ¿qué hace la capa de enlace de datos? En realidad lo hace, por lo que también es la siguiente capa de controlador usando. Porque por el Dr. Willard porque también descuidará el arte es un hidrostático. Esta es la principal guía de red que a través de la cual lograste el internet. Por lo que este es nuestro dispositivo a través del cual logras y recolectas. Entonces es esto, nuestro León no es un dispositivo, una rivalidad en el desierto es una red tribal y porque controlará la tarjeta de red, ¿de acuerdo? Ahora, esta capa de enlace de datos, necesito la petición competitiva como dos o más negatividad o usa soul, ya que controlará la tarjeta de red que hubiera sido un águila y conexiones de soda. Por lo que nunca son esa o más capa de red neuronal que está usando la misma red contesta tu no-equity más antiguo presente en la parte superior de esto, que hemos discutido ahora. Entonces haz una palabra, red. Utilizará la misma tarjeta de red. Entonces cómo esta gestión cuando para la Casa Blanca tenga acceso a la guardia de red será eso sólo es mi cuello y tarjeta de red. Pero cómo este exceso de dinero proporcionó para la capa de red que está presente y Egipto y tirando de esta capa de enlace de datos. Y así él, yo no también el direccionamiento físico de la red y se lleva a cabo la acción. También constan ley de octubre sobre desorden habrá descrito para que debas estar conociendo todos y todo sobre el CEO. Por lo que se trata de qué topología hay topología de internet. Y también se usa, también usa son el dispositivo de red más comúnmente utilizado, es decir si usa switch. Entonces todo esto se trata de la capa de enlace de datos. También lo aclara el italiano consiste en dos sublimes, ¿no? Tan ampliamente otitis, control de acceso a medios, es decir, subcapas mac de lo que hace este Amaterasu, Es responsable de la interacción del dispositivo. Esto mencioné la detección de redes de tu dispositivo. Y el segundo es W en el que hace Dayton en Kansas, es enlace lógico Leah, de repente. Por lo que esta capa de enlace lógico, proporciona la multiplexación y el direccionamiento al respecto. A pesar de que estamos multiplexando significa ¿qué? Significa. Será, son ahora, podría profundizarse y caminar a través apropiado por qué las personas existen en diferentes redes multipunto. Y también puede ser transferido, transportado, o si mismo medio de red. Esto es lo que pasa con la multiplexación? Entonces un ejemplo de esta capa de enlace de datos, si ves será la fuente masiva y la dirección de destino, así como la llama eterna. Entonces no te preocupes por todo esto. Escritor técnico, poeta está garabateando claro. Espero que así lo hayas entendido, sólo entenderlo. pasar por la parte de red, se utiliza para conocer a un ángel conexiones cuando estoy cuando la gente se conecta desde la capa de red usando la misma tarjeta de red, se va a administrar esa conexión y se tienda de fantasía dos cosas presentes en nuestros deudores, MAC y LLC. Revista de control de enlaces lógicos de un baile de graduación es divisiva esa acción y esto proporcionará multiplexación y direccionamiento. Entonces su detalle al respecto, te explicaré involucra ejemplo del mundo real, que tengo mucho del público, estos líderes, he cubierto el ejemplo del mundo real y me explican titulares, estos Leo's, la sincronización en realidad lo que van a hacer cuando estoy en ese mundo real ejemplos. Por lo que entenderás qué son exactamente estos Leos móviles. Ahora, la última capa es el alelo. Por lo que esta capa física, también se le llama como si se tratara de una red. También no significa que Hyderabad realmente trae la red que son diferentes formas de oído hablar de ella. También pueden ser los cables de red que no había escuchado y todo eso. Entonces todos estos conceptos que físicos. Sí. Entonces gracias. Muchas gracias. 6. SocketSession3 Part3 de TCP OSIModel RealWorldExample la versión: Hola, bienvenidos a esta segunda sesión, Segunda parte para este modelo OSI que es la arquitectura IP TCP. Entonces, de hecho, en la misma sesión he discutido sobre los siete Leo's, que trae el sistema de networking. Entonces, ¿cómo estos componentes, qué son responsables estas capas? Y cómo se comunican entre sí. Entonces en esta conferencia, les estaré explicando que él y Dios ejemplo. Y te estaré explicando cómo estos siete Network Leo video rodando los ejemplos de velero para que te tomes una foto cómo estos componentes de red de Leo un día tuve y cómo se comunican entre sí. Entonces veamos esto. Por lo que aquí estaremos estudiando los ejemplos internos como este. Simulo un solo pedido de comida. Entonces sí, el cliente no hará no a través de su red y realizará un pedido con una salida a bolsa. Entonces consideraremos que los clientes de perro llamando hecho tanto en su distorsionado como haciendo un pedido y esa persona sabe, engaña señuelo y el cliente se comunica con el pedido detalla lo que el cliente quiere. Y persona de entrega entonces estará yendo a la dirección en un estimulante y va a estar entregando alimentos. Entonces será ver cómo estos Leo's entonces juegan un papel en ellos. Entonces veamos uno por uno. Entonces pastas aplicación, Leo. Por lo que Vannevar stellate está enviando un formulario para el estoma de sílice está interactuando con el cuerno en realidad sí se comunican en los detalles del orden. Entonces sí, la aplicación para que sepas, cuál es la capa de aplicación siempre que eso sea una indirección, permite la interacción del usuario, dependiendo de esta acción, estará respondiendo. Entonces la acción es que el cliente está haciendo una llamada telefónica usando el teléfono para pedir por favor. Entonces esto es, esto, la capa de aplicación entra en cuenta y el protocolo asociado a ella son HTTP o HTTPS, entonces ese FTP, como dije, está vacío. Por lo que todos estos son los protocolos que viene en esta aplicación capa soda, cliente, utilizando el teléfono para realizar un pedido inoportuno aplicación. León, hagamos esa interacción con el puerto. Por lo que luego viene la capa de presentación. Entonces, ¿qué ha estudiado esta presentación el IB en la conferencia anterior, qué hace? Hace la forma que pienso, de los datos. Por lo que hará el cifrado de datos. Por lo que evitó el formato requerido para una aplicación y se hizo en esta capa de presentación. Entonces, ¿qué hicimos? Blastocoel o el comando que recibe de la capa de aplicación de la policía. Y en la parte posterior, estará descargando la fórmula de evento de traje EVA humano no red. Entonces, ¿qué significa? Significa que definición significa que reportará en algún formato particular que usted dijo. Entiendo. Por lo que este formato debería ser común a ellos. Entonces aquí De igual manera en caso de ejemplo también siempre que el asteroide uno foo, voy a obtener de los detalles del pedido como supongamos que el cliente quería pedir algún nought. Por lo que tiene que comunicarse con ese restaurante en persona. El lenguaje que ningún cliente está utilizando para comunicarse a que esta carga presente debe ser lenguaje común. Es decir, debe ser universal, debe ser conocido por ellos. Entonces esa es una razón por la que se estará convirtiendo a ese formato. Se estará convirtiendo en un lenguaje perfecto. Hablando. La persona estará hablando en ese idioma, común a ambos. Para que las miserias y esta capa de presentación, se utiliza para desamarrar en ese formato que se entiende por ellos con el fin de empacar toda comunicación adecuada. Por lo que esta encía en esta presentación cerca del protocolo utilizado es el D. Así que sabemos que las imágenes en diferentes formatos, la fecha de atrás si Pfam NGI se dobla en nuestro HTML diferente, esa es la página en realidad la página, entonces la ascii relacionado con terceras cuerdas. Por lo que esto está en los protocolos que se utilizan aquí en caso de presentación Leo. Ahora bien, esta sesión, ¿qué hace la capa de sesión postal cuando? Entonces para transferir los datos, eso es un paquete realmente hacer su destino, esta capa de sesión, debería abrir el control y cerrar esta sesión los cuales están ahí entre los procesos de aplicación del usuario final son los responsables de abrir, control, y decisión de ejecución hipotecaria entre diferentes procesos de aplicación. Por lo que se requiere de sesión abierta a Riot. Hacer el host remoto con el fin de enviar datos para transmitir un paquete, debe pasar sesión abierta, hacer ese host remoto. Por lo que conocemos esta sesión cerca de EU y lo que en realidad se pueden haber visto butanos y abuso a través de esta conferencia o esta sesión, segunda sesión. Entonces si usted este ejemplo, Victoria Albert ejemplo, por accionistas, clientes que hacen una llamada telefónica y la persona del restaurante deben recibirla. En realidad, escribe tu receptor para que el cliente pueda comunicarse con ese receptor. Este desorden está muerto y único, nuevo enviar este ordenado. Por lo que se requiere esta comunicación para que cobrar nuevamente, la información del pedido detalla lo que todo pedido ha enfrentado el cliente. Entonces esto adelante porque la razón de la sesión, esto es muy requerido. El otro extremo, es decir los presentadores distorsionantes recibieron una llamada telefónica o con el fin de que este protocolo de comunicación completo exitoso se utilizara como RPC, ya sabes, RBC. Tenemos, siempre que tengamos que venir comunicarnos a través de la máquina remota en realidad entonces eso significa que necesitas desarrollar una sesión entre la máquina remota. Entonces este RPC utilizó SQL también sí se comunican con la base de datos en realidad para conectarse a su base de datos. Se utiliza Sql, Red es uno y funciona precios temp uno. Y esta X Windows se utiliza para comunicarse o si tengo que conseguir máquina. Por lo que esto está en la capa de sesión entra en cuenta. Ahora hablando de la capa de transporte. Entonces clúster mientras que la capa de transporte es para transformar los datos en medio de extremo a extremo. ¿ Puede saca a luz la promesa de conexión de extremo a extremo. Estaba ahí el medio también lo que esta capa de transporte, cuando lo hace , lo hace, no sólo asegura cómo se deben transmitir los datos, como si debe ser sin conexión. Las auditorías deben ser conexión o datos que es, TCP debe ser por lo tanto, un UDP antiguo debe ser por lo tanto coneccionista, paquete lateral inorgánico toda su suela proporciona ninguna seguridad de bola de fuego y validaciones y proporciona una seguridad que se adquiere una, por favor. Por lo que ya sabes, por N1 se utiliza para asegurar sus datos. El paquete sospechoso que es. Lo cual se sospecha ante algún problema con algún editor no se pasará al superior. Por lo que necesito un paquete válido se pasará. Pero soporte sospechoso, paquetería no clave, proporciona al comprador quiere seguridad. Por lo que al decidir cómo se deben transmitir los datos, coneccionismo coneccional también proporciona estas características. Entonces. También trajo allí ¿brinda un control de calidad? Control de calidad en el sentido. Por lo que esto tiene Paquete de Especies no se permitirá que pase por el fuego. Y fue el problema representado de Susan está ahí en el paquete. Por lo tanto, está comprobando que la calidad del paquete no es buena, no entregar a través del firewall. Esa es la razón por la que proporciona este control de calidad. Ahora, pensando con un tablero real, es decir, si la comida no es buena en realidad, que se está preparando es que empecé y había sido una entrega de RB a los clientes. Por lo que esta una especie cuatro no se permitirá que se entregue al cliente. Pensando con un ejemplo del mundo real. Entonces esto, como te describo, esta capa de transporte ancestral dos cosas, dos tipos, estadística, Cp. Aquí, decidirá que cómo se transmitirán los datos. Estará teniendo una acción, está orientado a la conexión. También será confiable que porque si alguien muere leyes entonces se le notificará al receptor también de nuevo, se transmitirá editar esa sección también estará sucediendo. Y así es como Holzer merece cebo pesado porque realiza todas estas actividades. Entonces ejemplo o PCBs, HTTP, FTP, SMTP, met como en el caso de UDP, está orientado sin conexión, hemos visto que no es confiable debido a que se pierden algunos paquetes y no será notificado al receptor. Nuevamente, no se enviará reset. Y no molesta que no se dirigiera. Entonces esa es una razón por la que no es confiable. Y el ejemplo de vida de esta UDP es mentir verticalmente o jugar. Entonces esta es alguna notación que es multijugador. Entonces correcto, no envía los paquetes los cuales se pierden porque esa será nuestra interrupción. En esta comunicación. De nuevo, el DWB, Senado del BM en algún momento se tomará. Entonces esa es una razón o no. Se terminó y por lo tanto se debe utilizar en la comunicación en vivo. Entonces esto es lo que sucede en caso de UDP. Entonces este es un ejemplo en vivo. Ahora hablando de ellos en punto Leo. Entonces, ¿qué hace esta capa de red que hemos visto primero tomó una capa de red. Hemos visto en la conferencia anterior, proporciona enrutamiento de los paquetes. Es decir, decidirá en qué dirección debe ir el paquete, ooh, qué camino debe seguir. Y entonces hemos visto, y también hemos visto que se encarga de enmarcar y armar los paquetes. Entonces lo que el cuello multiaño proporciona, proporciona el mejor camino para enrutar paquetes. Por lo que mejor parte significa que proporciona de lo que debería ser el mejor camino para el gráfico de barras de nivel de grupo, camino corto. Antes realmente con el fin de que ese paquete debe ser enviado desde el remitente al receptor. Y qué parte es debe usar, qué es un OK válido, por lo que en ese punto de esta bobina es una ruta s-bar los paquetes. Entonces, ¿qué se hace todavía? Se realiza el enrutamiento. Dar su detección al paquete caminará auditoría adecuada, y se realiza la fragmentación y el remontaje o paquete explícito. Discutiremos todas estas cosas son Fido. Entonces ahora hundiéndose con el ejemplo aquí, si vemos aquí, por lo que la persona de entrega que estará entregando la comida al cliente. Utiliza GPS, Google map de vuelta de esta manera. Responsable de traer los caminos más cortos visibles comprados. Por lo que quién mejor mapa para los blancos son muy cortos, el punto más corto. Y así se sincroniza con el mundo real, esta red, real Leo, BEC, y cantar con esta costura. Ahora son los tres pasos de los cuales he visto qué, qué todos estos son redondeo remontaje fragmentación. Por lo que sí describe aquí indican mensajes de direccionamiento tan lógico. Entonces sí, estas son las direcciones virtuales. Para que sea una direcciones virtuales las cuales decidan cuál sería el destino comprado del paquete allí. Sé que ya terminé o envias un paquete? Ese paquete estará pasando por la red. Entonces vamos a estar ahora entre las redes. Por lo que estas son las direcciones watchin, eso es el direccionamiento lógico que llevará el paquete para enrutar a través de la red para llegar a ese destino. Entonces sí, se utiliza el protocolo IPV4 impar IPV6, también lo hace uso para simplemente sus otras direcciones virtuales, que decidirán qué destino estará ahí para que el paquete te enrutará no leerías hoy y estaremos usando este protocolo. Y así puedo procesar el segundo paso en esta encapsulación de datos de Viterbi o nuestra encapsulación verbal estos datos con su, con la fuente y destinos. Por lo que habrá direcciones asociadas a esta fuente de datos y destino porque como les dije, se utiliza para enrutar. Dará el camino fue nombrar qué partes deben reportarse. Y también verá que estará teniendo una dirección de origen y destino también, para que los datos se alcancen a través de sus pensamientos finales, fuente y destino. Se estará hundiendo con ella. Y luego después de la segmentación asemejándose así aquí, etapa endocrina de entidad. Será en primer lugar, puntos de datos aislados, luego lo va a ensamblar, y después tenemos que ensamblarlo. Entonces empatizar mucho muesca. Por lo que puede suceder que el de un día vincule todos estos datos agradables en lugares no contiguos en la memoria. Entonces, ¿qué, qué hicimos? Será fragmentado. Recopilará todos estos datos del electrodo de ubicación de una computadora. Y recogerá considerable Jiang vio de qué tamaño debería ser motivo. Dependiendo de eso, recogerá esos datos los cuales están presentes en diferente ubicación de memoria, y luego se transmitirán los datos. Entonces esto se trata de la fragmentación. Y el protocolo que aquí se utiliza es sin embargo, que ahora están siendo protocolo de información porque aún bombeo se hace en la nieve en esta capa de red así como Open Shortest Path First, porque propone ese camino más corto, este protocolo se utiliza aquí. Ahora voy a descargar su SDK e incluir. Entonces esto es lo que hace estos datos en Inglaterra, como hemos visto, también son bocios sobre la red. Se utiliza para controlar la tarjeta de red. Se utiliza para gestionar la conexión de humor Mordor. Es eso de la capa superior y esa es la capa de transporte. Ese es uno el negativo localmente o para usar la misma red, entonces lo manejará usted ha visto en la conferencia anterior. Entonces lo que hace esta capa de enlace de datos, asegura que los datos serán transmitidos sin ningún editor. Hará esa parte. Y también hemos visto, ¿las respuestas claras italianas hablan con alguien que ha visto avances hablan lógicamente control y también control de acceso a medios. Hemos visto unidad y ese control lógico que hemos visto en conferencia previa que se utiliza para la multiplexación y direccionamiento y medios que se marcan como utilizados para la hidroeléctrica. Proporciona asesoría y dirección. Entonces estas dos capas, lo que hace David, Sebelius, que también proporcionarán el éxito para la transmisión de los datos. Por lo que todas estas cosas están asociadas a ella. Entonces lo había sido, ten esta li y tendremos la dirección física de Mac, que definirá la dirección de destino donde los paquetes tres. Entonces, ¿qué hace el sistema endocrino, la dirección MAC. Hemos visto este imán es una acción física, dirección física, que ayudará a esa persona que llegue al destino. Por lo que esto es muy importante. Y así ejemplo de segmento UDP es su destino, dirección física, o la persona de entrega del cliente. Conociendo yo con el fin de ayudar a estimar alimentos. Por lo que dijo buscar destino físico, domicilio físico del cliente. Entonces ahora el protocolo que aquí se utiliza es Ethernet y protocolo punto a punto. Ahora van a la última capa, esa es la capa física de 70 han visto tarjeta de red o los cables del metro. Todo esto viene bajo esta capa física porque se vincula con la parte de la red de hardware de la misma. Por lo que estos son los componentes. Tan obeso, el cliente que está alimentando a la comedia, la comedia haría el pedido. Y dijo: Consideraremos convertirnos otro físicamente en la lectura del cliente, uno de los cuales. Entonces esto viene de acuerdo metafísicamente a través de este curso. He estado bajo si compartes tus opiniones y calificaciones ya que significa mucho para mí. Y cuando me influenció para publicar tan videos a la carta como por tu requerimiento. Ya terminé para esta conferencia. Gracias, muchas gracias. En la siguiente conferencia estaremos viendo métodos de cohetes windows y método de socket suficiente para llevar la comunicación del socket. Gracias amigos. 7. Socket Session4 Serverel Clientel: Hola, bienvenidos a esta nueva sesión, es decir, los métodos de cliente del servidor socket por ser ambos. Por lo que en esta sesión, dada BC, los siguientes temas que debe, otros temas que yo había mencionado, estaremos buscando en la configuración ambiental en este enero para ambos dijeron sobre M socket cliente. Por lo que este es el mismo edificio Goleman Waterman Center requerido tanto para el servidor como para el socket del cliente. Entonces estaremos viendo el tema adoptivo que es, la mediana estaría discutiendo los esfuerzos de Garmin son las API que el servidor de cohorte enero y cliente. Por lo que hay tres métodos que van a ser retardados de API solo para hardware así como cliente para el sistema operativo Windows. Por lo que vamos a estar viendo es de tres métodos. Estarás viendo cuál es el propósito de estos tres métodos y cómo se usan se estarán hundiendo en el acorde. Por lo que esta sesión es muy necesaria antes del proceso de programación de socket, pero inclinada para Windows, sistema operativo Windows en IDE. Por lo que antes de ejecutar el código, antes de ejecutar el código, estaremos entendiendo los mapeadores, las funciones que están presentes, y contornos socket para que estéis obteniendo una mejor sensación de lo que nosotros están haciendo y te hará entender de manera fácil. Entonces estos son los métodos que están discutiendo vívidamente. Estos son los métodos comunes requeridos tanto para el servidor como para el cliente. Para Stephen, estar buscando estos tres métodos, entonces estaremos viendo a continuación. Los métodos de socket decidibles son API que serán específicas sólo para el servidor. Por lo que setter métodos que serán específicos para el servidor que se verá hundiéndose con el código. Y entonces estaremos viendo los métodos de socket del cliente que pueden ser específicos para declinar. Nuevamente, pensando con la meta. Entonces esto es lo que estaremos estudiando en esto. Por lo que es muy necesario para iniciar la programación para el arreglo y la luz. Entonces deberías estar conociendo qué son utilizadas todas las funciones, ¿cuál es el propósito de esas funciones? Por lo que te hará entender de alguna manera. Entonces, empecemos. Aquí para nosotros, estarás discutiendo el árabe lo descubrió en el tema palabra por supuesto, tema que estaremos discutiendo en la configuración de Berlinale Waterman. Por lo que antes de escribir el código y ejecutar la programación de socket de ventana solver, estos son los pequeños pasos. Por lo que antes de escribir el código para su socket, dicha línea look, este es el método genérico de construcción de la configuración ordinal requerida para el vuelo siete de madera. Entonces en primer lugar, ya que estaremos escribiendo el programa y ejecutando en IDE, ese bloque de discordia. Por ahora tenemos que crear un proyecto, pero un bloque de acordes. Entonces este caso en el sistema operativo Windows, tenemos que hacer el sector de esta manera. Tenemos que añadir eso. Tenemos que vincularlos en buena biblioteca socket para que podamos utilizar las funciones o métodos que están presentes en esta biblioteca de conflictos de Mendoza. Dado que estos, estos estarán utilizando cuando las funciones de biblioteca socket 32. Entonces antes de empezar a escribir el programa, que estará llamando a los métodos como son las funciones que se definen. En la biblioteca que, eso se llama como w que tenemos tirando de esta biblioteca, si no vinculas esta biblioteca, una vez que compiles el código, se compilará porque llegará ahí con ello. Pero, y ejecutas el código porque sabes que mientras ejecutas el código, se estará vinculando a eso. Yo realmente bien. Entonces en ese caso, será finalmente la biblioteca. Y como no has vinculado a la biblioteca en el sector moderno, entonces estarás vinculando letras. Entonces no te preocupes por esto. También veremos cómo sólo será en la próxima sesión cuando empecemos, creo el programa, así que esto es para su propósito de comprensión. También he mencionado en la propia presentación que lo que todas las cosas se hacen paso a paso para que puedas vivir ahí y reformular algún video. Y podemos referir esta presentación aquí misma. Entonces, en primer lugar, tenemos que crear un proyecto vacío y no madera. Después, ya que estará escribiendo el programa para el C plus, entonces estaremos agregando un MPC más el archivo fuente al proyecto. Por lo que también te mostraré en la próxima sesión y escribimos el programa en el propio bloque de poros. Cómo hacer justamente estos son los pasos que se me hacen no, no abajo fuera de él. Y tenemos que asegurar construido en agua y luego enlaces a ellos y Socket Library, es decir Ws para subrayar particularmente de corta duración. Entonces estos son los pasos para enlazar que también he mencionado aquí. Entonces tenemos que ir al proyecto, tenemos que ir a la opción media y luego click en la configuración de porcentaje de enlace para que nuestro enlace de enlazadores vaya, creo, para que puedas enlazar cualquier biblioteca a ella y agregar lo siguiente y las opciones del enlazador. Entonces todos estos son los pasos para agregar Susan's yo o usar realmente estar usando escribir el programa para el socket para el sistema operativo Windows para la línea de gancho celular. Ya que estaremos utilizando los métodos así como los hongos son las funciones que se definen en este archivo de biblioteca, es decir, este, Ws a 32 punto. Esta biblioteca contiene todas las funciones definidas por el método de objeto windows. Entonces, por lo tanto, tenemos que vincularnos de esta manera. Estarás vinculando, podría estar dando estas dos líneas que es menos W en particular y esta. Por lo que esto es muy importante, estará viendo también en la próxima sesión cómo lograr, cómo realizar estas pérdidas paso a paso con el fin de vincular estas bibliotecas. Ya que esta biblioteca en sí contendrá todos los métodos o funciones que estarán utilizando para realizarlos en esas programaciones de socket. Entonces este es debate de los hombres del Norte no configuran lo cual se requiere para escribir programa cliente en el sistema operativo Windows. Entonces he mencionado muy importante si no usas bibliotecas y realmente consigues evitar eso. Tienes que hacer este mil millones más de un conjunto de cartas al matar ese archivo de la biblioteca. Entonces se puede iniciar la programación para la aplicación mini socket para el sistema operativo Windows por este archivo de cabecera mencionando. Por lo que hay que mencionarlos en el archivo de cabecera del socket DO2 que también te explican en la siguiente sesión qué todo el alambre ártico empresarial tienes que gestionar. Tendrías que incluir en realidad para que puedas conocer funciones doradas. Y cuando esos zócalo. Entonces estos, así vía, a través de la identidad disolviendo la densidad de Waterman para Windows para la programación del servidor socket. Ahora vamos a ver otro tema de esta sesión. Entonces aquí vamos a estar discutiendo los métodos comunes que se pueden utilizar tanto para la liquidación de socket como para el cliente siguiendo esos. Por lo que esto es específico para una parte específica del sistema operativo Windows. Esta función particular se utiliza que es común tanto para servidor como para cliente, que es Ws tech startup. Y está teniendo dos argumentos. Por lo que se puede ver este argumento forzado como se da en este hombre. Y el segundo, soy humano no aborda en este WSDL líderes. Foster boyd, ¿Cuál es el propósito de esta función de inicio de WSS? Y se requiere tenemos que, que utilizar esta función en Bork dijo, cliente de Venecia, se supone que hervir por lo que es el propósito de este PROPIO una start-up. Se utiliza para inicializar la biblioteca. Entonces desde que hemos visto que la biblioteca mental KC que se está colando en Berlin Waterman configuración. Por lo que para inicializar la biblioteca, se utiliza esta función. Entonces lo que hará esta función, poniente designado para puestos, registro de argumentos, presentar sensibles, e inicializarlos en soc biblioteca. Por lo que el costo del programa realmente nos ayudará a todos Lindbergh anotó uno para usar, que fue este híbrido incluso socket que puede ser mencionado por este post argumentos. Por lo que esto hacen funcionar y esta banda es, como se puede ver, Denon grabar dos coma 0 especifica que el programa quería usar una versión 2. bien biblioteca hay hemos visto, así que si hemos dado versión diferente en realidad, así que esto va a definir su devoción realmente presupuestado programa uno te gusta sólo así he mencionado aquí mismo el FED ME DO, que era de Vin socket, el programa uno. Ups. Entonces aquí el principal, ¿qué significa coma 0? Se quería utilizar el baño 2.0. programa soda cuándo usar una versión 2.0. o que significa Socket Library supuesto que aplique esta función se utiliza para inicializar la biblioteca que ha significado Socket Library. Y el post argumento dirá el programa quiere usar, que fue uno de ellos y socket. Y qué hace este segundo argumento diciendo sobre lo forzado sobre este segundo argumento que es que es la dirección de los datos del WSB. ¿ Qué hace este WSB estructuras de datos? Entonces estructura 1D, como yo había mencionado aquí. Supongamos que pones un segundo mejor prado es nombrar NO saber estructura de datos WSSE. Por lo que esta estructura en la que el pasivo incluso le dice al programa construido niega al programa sobre la información crítica que la biblioteca, incluso Socket Library. Ahí sin embargo. Programa que cuánta cantidad de sockets se requieren para crear. Entonces esa es una información crítica que la biblioteca pasará por el programa viendo cuáles son, cuántos sockets, número de sockets que puedes crear. Por lo que esta estructura se llenará realmente antes. Por lo que la estructura se dejará de fumar antes de regresar de esta función. Por lo que espero que hayas entendido el propósito. Se utiliza para inicializarlos en bibliotecas soc. Entonces sí, tenemos que mencionar el aborto que quieres mientras han sido socket library. Y esto proporcionará, esto comunicará la información, información crítica de la biblioteca cuándo biblioteca socket al programa, viendo cuánto número de sockets se requieren. Entonces esto es lo que se requiere la función y esto se especifica en ventanas necesitadas de saber de lo que se requiere un sistema operativo Windows en esta función. Es necesario utilizar esta función para una placa o servidor, así como lo que hay en espera del sistema operativo Linux. También estaré mencionando qué otras cosas se pueden usar para Windows y Linux para que puedas iniciar la programación con Linux también. Entonces también un aguacero te, ya que esta sesión te está explicando sobre lo que todas las funciones están presentes cada vez se requiere más configuración de administración para realizar programación de socket. Tipo de ventanas de agua alcalina en funcionamiento. También. Para el sistema operativo Linux. Casi parecen funciones que puedes usar. No necesitas sistema operativo Debian Linux, los entornos construidos, o NOSOTROS simplemente necesitas instalar el compilador GCC y podría estar ya almacenado en tu sistema operativo Linux. No es necesario vincular estas bibliotecas. También hemos visto en Windows y el sistema que necesitamos para enlazar todas estas bibliotecas, Albia deslink, sólo esta biblioteca que es Louis Zoo, y una interminable biblioteca de socket decidible D2. Ya que tenemos que llamar a las funciones desde esta biblioteca. Y así se define esta función. No se debe deslindar Arezzo tiene que vincular esta biblioteca, pero en caso de la lámina de Feistel de Lena y esta biblioteca. Entonces en caso de d, habitación de la industria, duelo de alambre, esta biblioteca que no es entornos de construcción configurados así. No se requiere nada. Solo necesitas hacerlo, debes asegurarte de que eres compiladores de GCC instalados. Eso sólo se hace por las ventanas. Hemos excluido este sector extra. Tenemos que vincular esta biblioteca para poder utilizar estas funciones que están presentes en esta biblioteca. Entonces aquí es donde las tendencias y Windows y Linux. Entonces también al decirnos no requerimos esta función, que es que esta función no está presente. Por lo que casi todas las funciones son similares a Linux y Windows son similares solo los métodos de combustible que no se usan en Linux y hay diferencia en solo pocos métodos. Entonces una disfunción, como les dije, sólo es específica para el sistema operativo Windows. Esto no se utiliza para el sistema operativo Linux. Entonces una línea por una, también voy a diferenciar dentro de nosotros para que puedas iniciar tu programa con suelo Du Liniang para que no haya mucha diferencia, manera desigual o mínima diferencia está ahí. Por lo que eso será mucho fácil una vez que seas capaz de hacer el programa en este sistema operativo Windows, es muy igual de igual ganar el Linux porque preguntándose va, estos son los pasos y la pizarra inicial. Es más fácil que esto. Para que puedas entender, serás invaluable para quien la programación. Por lo que también veremos en la próxima sesión. En primer lugar, déjame ver la siguiente sesión qué métodos de rol configuran estáticos cableados uno también el sistema operativo Linux para ir a casa la programación de socket. Por lo que hicieron esta sesión realmente sostenible. ¿ Qué hace metalloides y Berlín Waterman esposa sináptica o sistema operativo Windows. Y en la próxima sesión discutiré qué métodos y configuración de un cuarto de millón de Waterman se requiere, ¿qué archivo de encabezado se requiere para el Linux? Y luego en la sesión posterior, considerar las diferencias entre la programación de socket para Windows y Linux aguas tienen profundidad se requiere. Qué están vinculando bibliotecas en windows tenemos que hacer y no tenemos que hacer para Linux y estamos no se requieren archivos de cabecera. Y qué diferencia hay en los métodos o todos los puntos que estarás discutiendo paso a paso. Entonces, vamos a ver. Entonces espero verte entendido, entendido este enfoque en w Y ahora a la siguiente función TO, que es común tanto al servidor como al cliente. Es función de socket. Por lo que esta función de socket tienes que crear o de lado así como vida silvestre. Por lo que hemos visto en nuestra anterior sesión sobre así que fue nuestro tablero inclinado. Navier sí requirió crear un socket en realidad, y necesita comunicación triste entre servidor y luego el socket que seremos, estaremos usando, estarás creando no debería tener el mismo tipo de socket tan bien como deberían ser teniendo mismo dominio de ambulancia. Por lo que estas son cosas básicas sobre el socket y discutidas en sesiones anteriores. Por lo que te recomiendo eso, te recomiendo que pases por esto, atornillen esa sesión antes de llegar a esto. Por lo que también te ayudará a entender qué es, entonces ¿cuál es el propósito de este socket? I accionistas índices de futbol se publican que se utiliza para crear un socket. Por lo que ahora mientras creamos el socket, tenemos dimensión. ¿ Cuál es el tipo de socket? Por lo que aquí se pueden ver los tres segundos argumentos presentes. Y eso si subrayé ins y canción subrayan crema y este es un grupo de aceite. Se trata de protocolo IP y PCP. Tan hostil que siempre a través de la creación de socket, hay que mencionar el socket. Por lo que este arquetipo puede cumplir con el tipo de streams o puede ser una página panam. Por lo que también mencionaré en inserción socket básico que aunque, qué tipos de enchufes están disponibles y Warhol dirección domino soul aquí, este tipo de socket pueden cumplir tipo poco confiable. Ese es el obvio pago del equipo en picogramas poco realistas de usar el arroyo que es confiable. Por lo que más fuerte atar este gen pañales noticias porque es mucho confiable. Y lo que todas las cosas se hicieron. Y como mencioné en la sesión anterior, por favor acuda a ella. Por lo que este es el segundo tema argumental. Y vamos a ver uno por uno o dos o tres argumentos son. Entonces, OK, entonces aquí este ocupantes está compuesto por tres argumentos. El primer argumento EF subrayó, que es el agua inteligente esto, por lo que es una familia de direcciones de Internet. Por lo que aquí estamos usando la IP versión cuatro. Por lo que hay dos tipos. Hay IP versión cuatro y IP versión seis. Entonces ya que estamos usando IP versión cuatro, tenemos que escribir esta dirección de internet familias ir, subrayan RNA. Si hubiera usado IP versión seis, las niñeras deberían cumplir con IAA y la escuela y específica para esa logística vía azul, ¿verdad? Por lo que se trata de estos metadatos sobre las familias de direcciones de internet. Por lo que hay que dar en este imán mismo. Y el segundo argumento que socket stream que como te mencioné, que es un sockets de streaming. Por lo que este zócalo confiable. Entonces hay que mencionar el tipo del socket, si se trata de un tipo de tema grande en REP disolver, tipo datagrama, tan sincero y usando vapor. Entonces tienes que mencionarte a ti y a Todd argumento que es éste. Es, se está mencionando qué protocolo se utiliza y para esto orcas Gim me, lo has visto utilizado un protocolo de comunicación, RTCP. Si este dipolo, este socket estaba ahí, datagrama, y este será un UDP. Pero como estamos usando su tipo de socket, parece así que es protocolo de comunicación es TCP u IP oblicua. Por lo que mencioné en la sesión anterior o el socket V6. Por lo que por favor pasen por ella para entender lo que es ilegal. Entonces, sin embargo, ningún método de socket redundante editable volverá. Describir va o refrescar haciendo referencia al socket creador. Entonces lo que esta función particular admin lo montó Mildred montó sobre descriptor para adoptar nuevo socket el cual se crea. Entonces agregando ese descriptor al que vas a estar llegando. Y se puede utilizar descriptor de datos y se puede operar el realizar diferentes funciones. Entonces veamos uno por uno. Ahora, otro método común que se utilizará tanto para servidor como para cliente es el socket de pista. Por lo que aquí es utilizado por el propio nombre. Se puede entender cualquier otro conjunto de un socket o puede declinar ya que es común tanto para siete como para mucha disfunción de Lukoil. Por lo que aquí estamos llamando a esos servicios idea de mirar esto, yo estaba ocupado. Eso es un descriptor. Cualquier fecha límite de producción, futbol, entonces hay que dar su descriptor del zócalo. Por lo que el año dos para esto, se utiliza para desconectar este cohete, y esto es v. Para el Sistema Operativo Windows, tenemos socket Globo de Oro en primer lugar, tenemos socket Globo de Oro en primer lugar, y luego hay que hacer w Entonces, ¿qué hace esta limpieza WSS? Porque para desdestinar los recursos que son utilizados por la Biblioteca Socket. Entonces este suelo son los detalles y ¿cómo lo usas de esta manera? Por lo que estos son más antiguos, son los métodos comunes que serán útiles. Sidebar como conocimiento del cliente ver métodos específicos que pueden estar ahí mientras el servidor. Y entonces estaremos viendo los métodos específicos para las líneas molestando a quienes operan un sistema. Por lo que ahora van a ser nuestros amigos, ahora los métodos específicos de los que estaremos hablando serán comunes a abordar o al sistema operativo Windows, así como si el sistema operativo de enfermera en estos métodos específicos son parecidos. A pesar de que eso no es diferencia en las funciones para el sistema operativo Windows como hombres como un sistema operativo Linux y se escribe programa socket para reclamo soberano. Estos son los métodos comunes. Se puede utilizar lo que los adoptará. Entonces sólo la diferencia que te dije estaba en esta función que es WAC iniciada configuración se usa en ébola y va sistema operativo. Tienes que requerir un, es común para servidor y cliente sistema operativo Windows, programación de socket. Y también una cosa más. Y voy a revelar socket. Por lo que esto también es una diferencia y sistema operativo windows y sólido. En caso de Nino , tal y así saldrás glucagón esa pérdida. También desconectarás el socket, pero no llamar a esta función estará en funciones de pérdida de IQ son por cumplir y estar mencionando que en la próxima sesión, ¿qué métodos se utiliza? Entonces solo que usa Luis XVI, no necesitas limpiar todas las diferentes formas que hay para cerrar eso para desconectar el zócalo. Por lo que esta es sólo la diferencia entre el sistema operativo windows y hecho sistema operativo Linux o socket que parecen líneas. Entonces toda la pila de descanso ahora estaremos discutiendo aquí, ese será Coleman, Do the Windows sistema operativo, Linux sistema operativo. 8. Socket Session5 ServerClientMethodsLinux: Hola, bienvenidos a esta nueva sesión, es decir sockets advert clientela métodos. Minutos previos a la sesión, había visto la conferencia para métodos de cliente de servidor socket para Windows. Espero que lo hayas pasado. Por lo que será bastante bueno si has caminado por esa sesión porque aquí se explican casi los mismos conceptos. Pero tengo un diferenciado para el Linux. Qué cosas específicas utilicé para el Linux, qué se requiere toda la configuración completa que estarás discutiendo en esta sesión. No es más que eso. No es mucha diferencia. En el servidor socket Linux y Windows que solo pocas defensas de métodos descansan todos son, son iguales que volver a la parte posterior de ellas windows. Por lo que espero que hayan pasado por la sesión anterior. Entonces para entender más rápidamente en esta sesión, lo cubriré. Poco colliculi porque casi las cosas comunes que están aquí presentes, Linux y Windows mu se moverán semanalmente y resto de las cosas que son específicas para la ordenanza, le daré sobre eso. Por lo que eso va a estar encendido hasta ahora para hundirse más fácilmente en lugar de pasar por qué sesión repetidamente. Entonces veamos aquí, ¿qué es los sockets tienen métodos en línea para el Linux? Lo que son todas las cosas, no se requieren. Veamos, paso a paso. No te preocupes, entenderás todos y todo. Nos moveremos paso a paso. Los temas que voy a estar cubriendo aquí, estará discutiendo los métodos comunes son las API que no grabé el servidor de la placa así como los clientes. Entonces estos son los dos métodos. Entonces aquí en el primer tema estaremos viendo cuáles son todos los métodos comunes de funciones, que para la barra lateral luego cliente, y que se usa para el Linux. Entonces estos son los métodos que son comunes. Es decir, hay dos métodos. El método socket está muerto y el otro método es el método close. Entonces en caso de Windows, hemos visto, en ese caso un método extra estaba ahí que es inicio de WSS, te dije que se usa para inicializarlos en biblioteca socket y tenemos que enlazar a esa biblioteca. Pero en el caso de Linux, ese método no está presente en absoluto. Eso fue algo extra con respecto a las ventanas. Pero en la fealdad de A eso no está ahí. Por lo que también necesitaríamos vincular cualquier biblioteca, significaba socket. Sí necesitamos vincular cualquier biblioteca en caso de lo lineal, es solo que tienes que instalar. Se instala el compilador Gcc, y somos capaces de iniciar la programación. Estos son los métodos que son comunes para el servidor y el cliente. Es decir, ambos se utilizarán ahora veamos qué es. Ahora también los otros temas que se discutirán serán el lado donde los métodos específicos y nos vamos a hundir con los tribunales. Y vemos todos los métodos, ya sean de lado a lado, que es específico del servidor en sí. Y estaremos viendo todos los métodos para el cliente que es específico para el propio cliente. Entonces también estos a todos los métodos que vamos a estar discutiendo, modelo y específico y el cliente específico. Los mismos métodos que se utilizan para Windows también todos estos métodos se utilizan también para mover esos. Entonces casi todo es igual, solo las diferencias. Ese año la función WSS Startup no está utilizando Linux, así como el método SOC close que se verá aquí. La sintaxis operar es diferente. Todo es similar al de las ventanas así como para la ropa de cama. Por lo que esta función específica para el servidor será también la misma para el Windows y Linux y plazos específicos de los métodos serán los mismos. Entonces veamos las cosas luego discutiendo los mismos métodos comunes aquí rigen los métodos utilizados para el servidor así como para reclamar, esto es muy requerido. El nodo importante que te dije que en Lena's no hay función de punto estrella WSS usada que tenga ventana tenga esta función. Usted ha visto que los métodos comunes que hemos discutido en sesión anterior, hemos visto que hay tres métodos fuera de ella. Se sabe inicio de WSS que se usó para inicializar la biblioteca, es decir, la biblioteca de sockets de viento, y hay que vincularla. Entonces aquí en este Linux, esta función no está en absoluto presente, así que no necesitas preocuparte por vincular también, no hay configuración necesaria para eso. Para que sólo su doncella que lo descargue. Luego llegando a los métodos genómicos que se utilizan para servidor así como cliente en caso de Linux. Por lo que se usa socket. Entonces esta es la misma manera que lo estás haciendo para Windows también, tienes que crear el socket. Hay que pasar argumentos en ella. Este primer argumento es la familia de direcciones. Aquí. Puede ser para IPv4, IPV6 cuando damos EF y la escuela I en ella, eso significa que es divertido. Creo que habría mencionado seis, entonces sabe qué IPV6, esto es esta sangría y su familia da como es, como he dado aquí. Segundo argumento, hay que pasar el tipo de socket. Por lo que esto había discutido en ese tema Básico conferencia previa a esta sesión y dijo que aunque hay dos tipos de conductos, tipos de socket, que es socket de corriente y tomas de datagram y stream es un manifiesto confiable. Soy datagram no es confiable y él había visto lo que todas las características están ahí para la confiable y qué poco fiable, estamos usando mayormente su socket de nivel la mayor parte de su tiempo porque proporciona corrección de errores todo. Entonces todas las cosas que se puede ir a la primera sesión, por lo que podría ser seis. Y la tercera cosa hay que mencionar el protocolo de comunicación. Entonces aquí ya que este gen, así que voy a confundir este protocolo de comunicación es TCP, estamos mencionando aquí PCP, si fuera aunque datagram y usa diferente protocolo de comunicación, es nuevo que también he discutido en la sesión de cebollas sobre el no daño que acabo de mencionar. Entonces hay tres funciones la misma manera que mencioné para las ventanas también lo mismo o ignorarlo va entonces este método de socket en particular devolverá un descriptor pseudo socket. Dondequiera que estés creando el socket para el curso o donde nuestra línea de productos, devolverá un descriptor al zócalo para esa línea oscura dependiendo de dónde lo estés usando. Entonces lo siguiente es que carga función. Por lo que aquí de nuevo, esta función de cierre es que estamos utilizando en caso de ventanas de socket cerrado. Por lo que hay representación diferente. Usted desconectando el zócalo en comparación con el líder. Entonces Nina soy yo, uso includes y estamos manteniendo su descriptor. Tú si se trata de barras laterales de fútbol, reacciona perdiéndolo, entonces hay que mencionar que está guionado de servicio. ¿ De acuerdo? Sí, mencioné encerrando la línea de productos socket de lo que eres al descriptor de declive. Entonces lo siguiente ahora estarás viendo esos métodos específicos de hardware. Esto es común para Linux y para Windows. Entonces todas estas cosas que serán repetitivas si antes esta sesión has pasado por esta sesión, eso es socket dijo, Bueno cliente quad windows, si te has ido, entonces encontrarás este cosa casi misma. Esto será específico para la barra lateral. Por lo que ya hemos visto que la barra lateral necesita vincularse a una dirección IP particular así como a pesar de que el número de puerto asociado cada vez que necesita estar sucediendo alguna comunicación. En primer lugar, tenemos que mostrar que el servidor está ejecutando post para que pueda existir. Es capaz de recibir cualquier conexión del cliente siempre que sea un Ignite este cliente, cómo va a entender la identidad del servidor. Entonces esa es la razón por la que el Salvo debe ser vinculante a una dirección IP particular y un número de puerto. Por el propio nombre puedes entender el mío significa que es vinculante a algo dentro de si es vinculante a la dirección IP particular y al número de puerto. Entonces todo esto, lo que te he dicho está escrito, así es como llamas a la función bind. Escribes el argumento de pulso como descriptor. Entonces eres el segundo es un puntero a la estructura y luego el tamaño de la estructura. Entonces este descriptor es un descriptivo al que se llega al socket cuando llamas al método socket, devuelve el descriptor al socket de la barra lateral para que tengas dimensión aquí ya que a través de un me envía usando su descriptor de ese zócalo sólo necesitamos unir sedimentos, vale, Necesitamos el mío. Y el segundo estamos dando la estructura del zócalo. Por lo que se requiere estructura weiter. Se requiere para que puedas llenar los detalles de la dirección donde este consejo debe comprar para terminar con un número y otras cosas como la familia de direcciones. También te explico esta dirección que estamos llenando es si hemos dado en servidor un eDD en subrayado e instalamos una nueva sesión. Te explicaré que quieres ordenar importancia de ello es muy importante. El número de código, debe ser mayor de 10 a cuatro porque se utiliza cuando 0 a cuatro. Por lo que debe ser mayor que 0 para cualquiera de ellos utilizado en número particular. Se explica por tres quintas partes. Simplemente pasaremos y veremos cuál es la limitación de la misma es 65535. Y entonces este es el número uno, lo que sea que mencionaste, el número de puerto en el servidor que tienes que significar mencionado la misma ventana. Cliente subcontratar. Este es un número de puerto en el que está comprando el servidor. Hacerlo. Ya lo he explicado cuando hayamos hecho comprobando errores aquí, puedes reportarlo más tarde. Por lo que te he explicado todos estos parámetros. Esto es sólo un No, no lo pongas. Al ver la siguiente función se deciden por eso se escucha función. Esto es común tanto para Windows como para Linux, específico de ese servidor. Zócalo. Zócalo. Para la lección, una vez que se vincula a la dirección IP y al número de puerto, debe escuchar eso. Para escuchar Dan, nueva conexión del cliente. Además, una cosa que he añadido aquí justo ahora porque es algún tipo de error estaba muerto. Además, lo mismo en realidad solo escucha función. Me he perdido que en caso de las ventanas también lo que los métodos del socket del servidor. Entonces aquí los parámetros extra que, eso es en bendy se llaman punzón Allison. Pero en la programación he escrito de la misma manera que lo hemos hecho, lo cual te explicaré, que lo estará ejecutando. He ejecutado de esta manera. Dicho, pasando los dos son humanos que se requiere. Por lo que solo mencionando en esta presentación, me lo perdí. Hablamos de la función de lección cuando podómetro extra, que he editado como la columna vertebral. Este atraso del cual es el segundo argumento aquí. De qué se trata, por qué se requiere sobre todo u y v mencionando el descriptor de zócalo de acera. En el segundo atraso significa que dice cuánta solicitud de conexión del cliente debe estar en la cola. Por ejemplo, si usted da aquí. Por lo que eso significa que usted está diciendo post-charla sobre este socket es capaz de recibir ya sea junta directiva y acciones de declive económico. Pero eso será en la cola porque ya que el Bazin One está en proceso, si hay múltiples líneas, entonces imán y acciones estarán en petición de conexión de flexión. Por lo que aquellos estarán esperando en realidad a un oprimido en uno que complete corre la actual mina está terminada, entonces el valor lateral estará escuchando las de las conexiones uno por uno a la vez. Uno será tramitado, pero otro será en la UCI. Entonces, cuántos número de conexión del cliente desea mantener en Q, se puede mencionar en este segundo argumento. Entonces esto es todas las fuentes parecen en caso del sistema operativo Windows. Así que he explicado la función de lección, pero me he perdido dar el segundo argumento y eso solo considera lo mismo que está en Texas, mismo ya que acabo de verlo para Windows y Linux. Por lo que el segundo argumento se agregará descanso, todo se salva. Sólo me perdí este. Ahora, así es como estarás escuchando otras nuevas solicitudes de conexión, por sus solicitudes de conexión desde disfunción depo plazo. Entonces estás llamando a la función de salida. Y eso es que escribí la función de salida en la que darás el descriptor aquí en el servidor. Y luego mencionarás el puntero a la estructura. Y luego un año durante diferentes cosas que están ahí, eso es cliente un DDL, que obtendrá. Entonces aquí, en primer lugar, en caso de la función de salida, esta estructura que nos estará dando a todos lo que devolverá esta función de salida, devolverá nuestro descriptor del nuevo socket. Entonces todo lo que tienes para socket descriptor post socket descriptor. Se desliza el menú llamado la función socket. Aquí. Cuando sigues la función socket, compraste un descriptor. Entonces ahí está. Se utiliza para recibir cualquier nueva conexión. Para el propósito de conexión se utiliza, ese es este descriptor de tipo que se obtiene realmente cuando se llama a la función de salida y a esta dirección. Se trata de polvo descriptor Doug. Se nombra como socket glenoide porque obtendrá un descriptor para el nuevo descriptor de socket o declinación. Por lo que aquí con este script, puedes comunicarte con esa línea así como puedes enviar los datos a declinar o hacer puedes recibir los datos de nueve. Por lo que los fotógrafos deco podrían tener Bazaar usado como no bloquean nada una vez que ese descriptor de socket se pueda utilizar para conectar las solicitudes de los clientes y descriptivos de ISACA se vuelven atractivos en el envío y recepción de los datos. Por lo que hay dos descriptores. Y así es como destructivo el juicio te explica qué, cómo llenar esta estructura, esta estructura tienes que hacer. Hay que mencionar los detalles de la propia estructura. Lo siguiente entre ver es que una función C. Entonces también una cosa mientras que el socket del servidor se puede llamar a la función de recepción. Se puede llamar a la misma función. Entonces cualquier cosa que puedas llamar dependiendo del requisito. Tengo un buen vistazo a este índice. Pero esto no se usa para recibir el mensaje del cliente para ver si son el adaptador en esa línea. Y aquí hay que mencionar aunque socket en realidad. Entonces aquí ya que no podemos crear el socket, en realidad obtuvimos este descriptor cuando lo llamamos, exhibiciones están en el propio descriptor. Tenemos que recibir eso. Lo que recibamos del cliente se recogerá aquí antes de que pueda imprimir esto antes de que sea industria en carácter. Entonces esto es lo que el en caso del conjunto de funciones que son específicas al servidor. Y estos son los mismos para ellos en aquellos y así como para el Linux. Ahora veamos los métodos cliente que son un plazo específico. Así que reclinándose para simplemente conectarlo misma manera que te he explicado en la sesión anterior para Windows. Se utiliza para comunicarse en la red. Se debe hacer conectarse al servidor. Aquí tenemos que mencionar esta estructura de direcciones. También una cosa que voy muy rápido en esta sesión que es para los métodos de cliente de socket sidebar para el Linux, porque en la sesión anterior que era sockets advert client métodos para el Windows. Te he explicado todo para el Linux también, lo mismo solo, hay una belleza Prince de la que te mencioné y tu mismo descansa disfunciones, que estoy hablando. Casi todo es igual. Entonces hay una razón por la que sólo voy realmente contraseñas muy, se recomienda que compraste con sesión de Danio para entenderla más mejor. Pero estoy cubriendo todos y todo. No me estoy perdiendo nada. Entonces no quiero que vayas repetidamente. Esa es una razón por la que apostar más allá de aquí para conectar. **** la línea sólo se supone que debe conectarse. Entonces esto es lo que nos inclinamos a dar su deuda. Entonces esta es dimensión sin embargo, dirección IP de la máquina host local. Entonces en nuestro caso, E y B teniendo la comunicación socket dentro de la misma máquina anfitriona. Por lo que es incluso si puedes, puedes tener comunicación de socket dentro la misma máquina host o dentro de diferentes máquinas. Entonces en ese caso, siempre que estés teniendo una comunicación socket, una vez leí inclinada a correr en la misma máquina, misma laptop parecía pararse. Entonces en ese caso el IPS, debería de cliente conectarse al salvamento de dar la dirección IP en el servidor donde esta marfilería por m2 para que simplemente se pueda mencionar la idea de la dirección IP local porque ya que estamos ejecutando cliente servidor en la misma máquina host. Entonces de esta manera, hay que, hay que mencionar aquí el Internet IBM y su familia. Y el número de puerto que me tienes que mencionar fue teníamos enlaces a este número de puerto, por lo que voy a dar lo mismo del lado cliente también, ya que cliente estará conectando al mismo número de puerto, luego llamamos la función connect en descriptor de pasta del zócalo que obtuvimos al crearla. Entonces esto sólo está estructurado entre derogar con esto, yo estaría en este extremo, número de puerto y el tamaño de la estructura. Este es el, este es un viejo Donato sobre mesa son los, otra función son los sensores. Es el cliente, esa es la conexión simplemente llamando a la función connect de esta manera, es simplemente entonces puede enviar y recibir los datos. Entonces esta es una sintaxis era y también puedes recibir su función semilla de calidad desde aquí. Enviándolo, estamos enviando alguna cadena de caracteres, lo mismo, aprendiendo programación socket en profundidad. Estamos pasando los datos del descriptor socket, enviando esta cadena de caracteres que hemos fallado con datos del lado Buddha de la misma. Y luego también desde el cliente, es decir desde aquí mismo, estos datos serán enviados al servidor en el tamaño de esta cosa. Entonces esto es lo que estaremos enviando obediente a varios amigos. Ya he terminado con esto dijo los métodos de Brookline para Linux. Para que puedas entender resumir en resumen, entendiste lo que todos los príncipes, su póster para un dipolo en Linux, no hay configuración ni vinculación la biblioteca de socket de viento ya que estamos no usar esas funciones. En caso de Nina's no existe la función de inicio de WSS. Por lo tanto, esto no es disfunción no es caso presidente de Linux. Entonces descansar otras cosas como la creación de socket es similar a la de las ventanas también. Y el cierre del socket, tenemos que desconectar en el caso de Windows también, lo que sí indexar la hipoteca se determina en caso de que Windows llamemos socket de pegamento y hay diferentes, hacemos la limpieza también. Pero en caso del Linux, simplemente recuerda que Lewis funciona para desconectar el socket. Entonces estos son los métodos específicos que se utilizan para el servidor. Esos métodos que son vinculantes o la acera que estaremos escuchando entonces aceptando todas aquellas cosas que son que serán comunes para sistema operativo Windows así como para los lineares, para los Lynas que respondieron lo mismo y por las ventanas en la escena. Estas son las cosas que hay ahí. En caso del lado del cliente, también los métodos específicos del cliente que estarán ahí, que también serán comunes para Linux así como para cualquier ventana. Por lo que hay que conectarte desde el cliente. Tenemos que enviar y recibir su función. Enviar y recibir los datos. Entonces esto es por lo que hemos pasado ahora en esta sesión te voy a explicar la diferencia entre sockets set de solicitar Linux y Windows. Para que te explique. Esto es todo muchas cosas, por lo que estarán ahí, lo cual será común hasta ahora hemos estudiado que es el ganador Waterman instalado en Windows, solo mencionándolo para vincular la biblioteca y luego Linux desconsiderado para simplemente instalar GCC parecía asegurarse de que esto está evocando. Entonces te explicaré qué se requieren todos los archivos de encabezado para Windows, ¿qué propios archivos de encabezado se requieren para el Linux? Entonces, ¿qué código extra se requiere para Windows y qué métodos comunes hay? Qué escribo chequeando, cómo reportarás un error en Windows, cómo reportas en Linux. Conferencia muerta. Seremos vistos una vez que pase por esta sesión, entonces más adelante estaremos iniciando la programación. Esos medios que hemos visto lo estarán aprendiendo y también en sibilancias. Una cosa importante que es comunicación del cliente del servidor HTTP se estará ejecutando si no lo viste, viendo cómo habla el navegador con el servidor Apache, cómo se lleva a cabo la comunicación siempre que abras algún sitio, siempre que quieras abrir cualquier Beijing Jenny en el navegador de los navegadores está enviando una solicitud, cómo se conectará al servidor Apache, y cómo se llenarán los datos, cómo se llenará la página con eso, con esos datos, se cargará la página para que seamos vistos usando el socket, estar usando la comunicación del servidor HTTP que es muy importante. Entonces así es como vamos a seguir paso a paso. Gracias. Muchas gracias. 9. Socket de la sesión de la que hay de la diferencia Serverel ServerClientMethods: Bienvenido a esta nueva sesión que es diferencia entre Windows y la programación socket de Nina. Ya hemos visto en la sesión anterior los socket de windows así como los métodos de socket multimillonarios. Y espero que así hayan pasado por esas sesiones. Serán de mucha ayuda bajo espíritu en esta sesión. Eso será esto te estará dando la diferencia entre las ventanas así como la de Nina. Pero aquí algunos adultos. Empecemos. Temas. Estaremos cubriendo la defensa en la construcción agua Configuración de Admin para realizar la programación socket en Windows y Linux, estaremos discutiendo al respecto. Lo siguiente estaremos discutiendo qué se requieren todos los archivos de encabezado para la programación de socket en Windows y así como para el Linux. Estos son, estos archivos de encabezado serán diferentes para ambos. Entonces estaremos viendo la defensa y pocos métodos. Eso es una funciones para la programación socket en Windows y Linux. Bob. Entonces en este tercero, podrías ser un metal casi todo porque hemos visto en la propia sesión anterior haciéndote entender programación de socket para Windows así como para Linux. Te había dicho qué funciones se utilizan en Linux y Windows. Casi los seminarios son casi todos los métodos que uso de células rojas, ventanas depo in situ y alguna ligera diferencia en una de las funciones y el resto. Todas las cosas que he visto decidieron la configuración. Así que vamos a ver. El cuarto, estaré discutiendo el tema que es escenario diferente Reporting entre las ventanas así como Linux. Así que empecemos ahora la primera muy publicación que es la configuración, el príncipe y la configuración de la factura o ambos, falsos. Estaremos viendo la configuración del bin para que las ventanas realicen la programación del socket. Entonces esto es B. Esto será una especie de repetitivo porque hemos visto en sesión anterior en fuente, el sistema operativo Windows para realizar programación socket, necesitamos enlazar a la biblioteca que es ws subrayado 32 punto lib. Porque vamos a estar usando las funciones. Las funciones se definen en estas bibliotecas para la ventana, socket de ventana. Y por lo tanto tenemos que vincular esta biblioteca porque tiempo de ejecución, si no enlazas esta biblioteca más adelante cuando ejecutemos el programa, entonces nos dará la vinculación más tarde. No encontrará la biblioteca ya que no la hemos vinculado. Por lo que esto es muy importante y los pasos para vincularlo, he mencionado aquí lo mismo , opciones de construcción de proyectos. Entonces tenemos que hacer click en las pestañas de enlace o configuración y estas cosas, estos son los pasos que tienes para navegar. Y luego hay que añadir estas bibliotecas. También estaremos escribiendo el programador y te mostraremos manualmente también cómo hacerlo, pasarlo por la idea y explicarte. Esto es muy importante. La configuración es realmente importante. De lo contrario obtendrás un enlace en el momento de la ejecución. Ahora tienes dimensión, el caso piloto de cabecera en la programación socket de ventana. Ahora, estos son el edificio de instalación Waterman, la unidad elemental si más adelante. Entonces a continuación, la configuración del edificio Waterman para los Linuxes, solo necesitas asegurarte simplemente que tu compilador GCC esté instalado o no porque es noticia para compilar el código que son diferentes aunque ideales. Y así si quieres pasar por la interfaz de usuario de la interfaz de usuario, no puedes hacer la línea de comandos. Puedes instalar ID particular, ese caso, y puedes crear un proyecto en realidad. Y puedes enviar código de fuga o programación y código programación de socket aleatorio o aleatorio. No es necesario vincular la biblioteca. Si está utilizando un dibujo de línea de comandos, asegúrese de que su GCC es, este es un compilador está instalado o no. Será por defecto instalado en imágenes y más corto. No se requerirán bibliotecas de vinculación en caso de las Linux. Y tenemos que mencionar algunos archivos de encabezado para el Linux también para hacer la programación socket que discutiremos más adelante en diapositivas posteriores. Ahora bien, esto es, toda esta configuración es suficiente para iniciar la programación en Linux. Entonces esto es lo que evidencia realmente en Windows y los liberales. Y la siguiente diferencia para el precio del encabezado entre lo que se debe incluir el archivo de encabezado o Windows para realizar la programación socket y para la zona lineal. Entonces esto es en archivos que necesitas incluir mi sistema operativo Windows para realizar la programación de socket. Tienes que hacerlo. Mencioné este stdio.h iodo, EL simplemente entrada-salida para simplemente mostrar el mensaje en la consola o simplemente dar la entrada desde la consola. Esto es lo que sin embargo. Estos son los archivos de crédito que debes dar en caso de Windows. Entonces el borde del punto del calcetín del viento, esto es específico para ellos cuando las funciones socket que se declararán en este archivo de encabezado. Por lo que hay que mencionar esta pipa de cabecera. Entonces hay que mencionar las ETS vivieron en el borde. Estos son los tres archivos de encabezado que necesitas para dar realizando programación socket en acertijos. Entonces mortal, hay que mencionar todos estos archivos de encabezado. Eso es stdio.h DIN socket dotage, I dotage, std lib, string dot edge. Y luego tú Anna, Anna, UNI stdio.h. Así que todos estos archivos de cabecera. Por lo que hay que dar, en caso del sistema operativo Linux y estás realizando la programación socket. Estas son las diferencias entre ellos. El siguiente tema en realidad que vamos a estar discutiendo, qué todos los diferentes métodos hay entre los diferentes para Windows y ordenamiento cuando vimos una programación de socket blanco hasta ahora, windows, como te dije, esta es la función extra que usamos. Esto es muy necesario para el sistema operativo Windows. Se utiliza para inicializar. Todos ustedes han sido socket library aunque le dirá a la red el programa quiere que la versión digital de la biblioteca el programa quiere que utilice. Por lo que esto te dará la versión dos perros 0 en la biblioteca de tomas de viento. Lo hará, el programa indicará esta versión que necesita utilizar para esta biblioteca de Mintaka. Y esta función se utiliza para inicializar biblioteca de socket. Y la segunda estructura de datos apuntaba a la estructura. Por lo que la estructura habría sido sockets biblioteca proporcionará la comunicación información crítica mientras se comunica el programa, al ver cuánto número de tomas y permitirlo para ser creado. Entonces todas estas cosas por ahí en caso de Nuevo, en caso de sistema operativo Windows, no en Linux. Entonces esta es una función extra que es que en las ventanas y no sabes, no necesitas usar un nominal. Entonces esta es una diferencia en una de las funciones. Este método los despachan individualmente, siendo IX versión nueva, el curso mejor lee eso como la visualización en bibliotecas. Segundo, cuando les dé la información crítica cuánto en estos sockets se pueden crear, se enviará desde la biblioteca al programa. Esto lo había mencionado. Sí. Entonces Nina dice que te dije que no hay acciones ni función, ni inicialización ni prima Nina. Ahora, otra cosa es que en caso de las ventanas, estas son funciones que se utilizan para desconectar el socket. Tenemos que llamarlo close socket function. Tienes que causar este descriptor de socket. Eso es lo que esperaba que porque dije sobre nuestro cliente tenía dos padres scripted oferta dependiendo de su requisito y WAS una función de limpieza también se debería llamar en caso de Windows. Entonces, ¿qué es esta limpieza WSCC? Se utiliza para desasignar fuentes de datos que es utilizado por el Beanstalk. Esto definitivamente está en y devolverá 0 y éxito y número distinto de cero al fracaso. Por lo que espero que hayas entendido esto. Estos son los, estos son los métodos que se utilizan en caso de Windows para desconectar ese socket, no hay funciones que necesite llamar. Y hay un propósito que te he explicado para el limpiador WAC. Entonces en caso de Linux, para desconectar el socket simplemente hay que llamar al cierre. Entonces hay que pasar este descriptivo. Si está satisfecho, entonces será el guión arriba. Si se trata de un Linux, si es cliente, entonces estará aplicando. Bueno para ir. Esto simplemente está cerrado. No hay limpieza y todo. Entonces otra diferencia y otro tema en realidad más defensas, defensa y edición de informes entre Windows y Linux. Entonces veamos por Windows, ¿cómo votan por error? Esta es la función editar respuesta. El mensaje estará llegando hasta aquí. Entonces simplemente pondrías este mensaje y este mensaje y conseguirlo recogido aquí. Y esta es una función que es WL, digo perderse error. De esta manera, hay que reportar un error. Entonces, ¿qué significa este error WSL GetClass? Ahora veamos detalles sobre todas estas cosas ahora en ventana utiliza su propia facilidad de mensaje de error sí para indicar que lo que salió mal con la llamada socket, esta función puede devolver un entero que representa la última área hay una buena década por la discapacidad de campo de llamada socket. Darte lo que mi, ¿cuál es la razón del video socket? Devolverá un número entero. Ahora esto tiene la versión de Windows ICD-10 de las respuestas de edición usa pato, el último error. Entonces esta es toda la descripción al respecto. En caso de Windows, necesitamos reportar un error de esta manera. Ahora vamos a ver para las tuercas lineales Sweeney están obteniendo la misma función, pero esta vez que no llamó, vamos a hacer incluso llamar. Esto FUE un getClass y de suma igual. Si no funcionaba, eso es editor B y el mensaje del editor Yoda fue SP edit para reportar los mensajes de error del sistema. Esto es una diferencia. Ahora, todas estas cosas se requieren en realidad. Entonces esto es, estas son las diferencias entre la programación de sockets de Windows y Linux. Por lo que se puede ver no hay muchas diferencias muertas o funciones. Si hablas en términos de las funciones solo en Windows, tienes que agregar una función extra, función de inicio de OWASA. Y también otra cosa con respecto a la función es que la función de pérdida es diferente. Sintaxis, modelo diferente, Windows y Linux descansan todas las cosas que es específico para el servidor en plazo específico las funciones son mismas por lo que no las hemos hablado. Sólo estoy dabbing setup es diferente en caso de Megiddo. Por lo que hay que añadir estas bibliotecas, como mencioné en este paso aquí. En el caso de Linux, se requiere la configuración de vinculación. Y en Nipah Linux, tenemos que hacer otros dos si su compilador está instalado y el edit, los archivos de cabecera que mencioné, estos son los diferentes emprendimientos para Windows y para ordenamiento. Y lo último sobre el reporte de errores de violación, este es el discurso diferente, función diferente en Windows. Y en el caso del Linux, llamará a la función diferente que es mejor. Esto es lo que, esto es todo. Tienes que tener en cuenta. Ambos bombardeando la programación socket para Windows y Linux. Así que no te preocupes, amigos ahora en la próxima sesión, incluso se ven socket comunicación lateral del cliente. Estará escribiendo el conjunto de placa vertical para la programación de socket de Windows. Y estaremos escribiendo el código del cliente para la programación. Para el código de cliente para las ventanas será y luego estaremos haciendo la comunicación. Te lo diré de nuevo, entienda que hay muchas diferencias mínimas entre Windows y Linux. Así que una vez que conozcas la codificación de la ventana para la programación del socket mientras estás, es solo una gran ir en realidad, amigo, escribir un programa para la ordenamiento, no tienes que preocuparte en realidad, es sólo para copiar pegar realmente se baja de Nina's porque en Linux, es mucho una z que la de las ventanas son porque algunas de las funciones no se utilizan. También descansan solo las defensas ahí dentro. La función de cierre a la que hay que llamar minuto indiferente ya que todo es igual y no se requiere configuración para el Linux. Si conoces la programación para programación de socket o decidiste qué así como cliente para Windows serás si sería mucho Z rehacer la programación socket para Linux. Entonces así es como vamos a estar procediendo las tendencias. Gracias. Muchas gracias. 10. Socket Session7 Serverel de la ejecución: Hola, bienvenidos a esta nueva sesión que se dice sobre aplicar la programación de socket para Windows en bloque de código con su ejecución. Por lo que aquí estaremos escribiendo el código para el servidor socket programación que vamos a estar haciendo, estará haciendo la programación del socket cliente, lo estará ejecutando para las ventanas, lo estará ejecutando en el bloque de código. Y vamos a estar viendo cómo sería este conjunto de socket de aplicar un minuto entre sí. Esta sesión? Espero que por lo que ya hayas visitado el, toda la sesión anterior en segmentos arroz porque hemos cubierto los diferentes métodos, diferentes funciones, el servidor socket así como swaddle, socket client o Windows, así como también tenemos sincronización con el código. ¿ Qué instrucciones se utilizan, qué todas las diferentes funciones o uso, cuál es su propósito? Y cómo para el lado del servidor, lo que todas las funciones en lugar ser dos puntos para el lado del cliente, ¿qué funciones deben ser? ¿ Sierra? Todas esas cosas que hemos visto, también hemos visto la configuración de administración de agua del edificio, que se requiere para que se lleve a cabo la programación de socket de Windows. De no ser así, entonces por favor visite esas sesiones. Estaremos empezando a codificar para la programación de socket de línea de acera. Será mucho físico. Aún así, estaré explicando ya que estaremos creando un nuevo proyecto con el fin escribir el código para el servidor, la programación de socket de cliente para Windows. Y vamos a estar haciendo todo el completo la lista myset up, viendo lo que todas las cosas tenemos que vincular. ¿ Qué se requieren las bibliotecas para vincular? Por lo que aún estarás consiguiendo bandas que pasamos por esta sesión. Empecemos. Entonces para solo revisar, hemos visto varios métodos de socket. Cuáles son los servidores son buenos métodos que hemos visto. En primer lugar, hay, que inicializar WAC. Esto se requiere en Windows para Linux, no necesitamos inicializar WSL. Entonces hemos visto cuál es el propósito o tema. Se utiliza para inicializarlos y Socket Library. Y hemos visto cómo el programa va a conseguir el aborto. Es uno, pero he sido sockets library. Entonces los puestos son humanos. Nosotros hemos visto, ustedes han visto cuál es el segundo argumento. Terminó APA Sócrates para inicializar paloma y Biblioteca Socket. Entonces segunda función hemos visto para crear un socket, luego volverá o descriptor del socket. Por lo que hemos visto que al crear un socket, tenemos que dar el tipo socket y se regula como un socket de corriente. Es socket confiable o si se trata de socket de datagram en algún nivel, socket. Y se trata de ya que tenemos que dar el protocolo de comunicación. Ya que sabemos que el socket de corriente está usando TCP, datagram está usando UDP. Podemos crear este socket Y puertas en los métodos del servidor que tenemos C y luego obtenemos este descriptor socket. Entonces en el lado del servidor necesitamos vincular este socket a la diabetes y al número de puerto que hemos visto. Entonces hemos escuchado ese socket. Entonces no hemos visto ninguna camioneta, escuchamos en ese zócalo. Estaremos pasando el descriptor de socket, así como usted estaría mencionando en el segundo argumento, cuántos número de esas conexiones socket del cliente debe estar en la cola pendiente, en la espera cola. Y luego tenemos una función de salida boulder para aceptar la conexión desde el cliente. Y luego una vez establecida la conexión, por lo que cuando llamemos a esta función de gestión de salida, devolverá otro nuevo descriptor de archivo. Y este descriptor de archivo, podemos realizar enviar y recibir iniciado por casa enviar y recibir datos con ese cliente. Este descriptor de socket, que fue. Así que regrese de esta función de crear. Esto, vamos a seguir participando para aceptar la conexión. Y otro socket, nuevo socket descriptor W, guárdelo para lectura y escritura para la comunicación con eso apareció 9% de datos así como para recibir los datos. Entonces así es como terminó la función de desconexión hemos visto para desconectar el socket en caso de que los métodos del socket del servidor. Entonces hemos visto lo siguiente que son los métodos de socket cliente. No necesitaba inicializar el ensayo. Esto también es específico para Windows solamente. Inicializar la biblioteca de calcetín de viento. Entonces estamos creados el socket en los clientes que subrayé que no hay mucho código si se usan funciones. Por lo que tenemos que inicializar a EU para inicializar las bibliotecas de calcetín de viento para que podamos usarlo. Entonces tenemos que crear el socket para que ese cliente y servidor sean diferentes aplicaciones, cada una de ellas para tener esta creación de socket en ellas. Y también tenemos que mencionar el mismo tipo de socket así como el protocolo de comunicación objetivo debe ser el mismo de cada lado, pero así como las líneas de chispas para que puedan comunicarse entre sí. Entonces llamaremos a la función connect para que el cliente pueda enviar una solicitud de conexión al servidor. Y luego una vez que la conexión, una vez aceptada esta conexión desde el servidor, luego envía y recibe estadísticas del propio cliente. Entonces desconecte la función, no desconecte el zócalo. Entonces todos estos métodos que hemos visto ahora comenzando ahora vamos a caminar por el servidor, programación del servidor cliente en bloque de código de Windows. Vamos a crear un nuevo proyecto que necesita para instalar el IDE de madera. Y realmente es disponibilidad y de código abierto. Por lo que no es necesario comprar una licencia. Si lo has visto, si instalas este ID, puedes escribir el programa conmigo y ejecutarlo y ver cómo se lleva a cabo la comunicación. Ya lo he instalado. Abriré todo el ID de bloque. Voy a crear un nuevo proyecto. Por lo que primero estaremos creando un nuevo proyecto para la plata. Después crearemos un nuevo proyecto para esa línea. Una vez instalado el bloque de código, basta con hacer doble clic en él. Verás esta página. Ahora, vamos a crear un nuevo proyecto haciendo clic en Archivo. Seleccione nuevo, y luego seleccione proyecto, y luego seleccione y aplicación del suelo. Después haga clic en Siguiente. Entonces como estamos escribiendo el programa en C plus plus ya está seleccionado, da click en Next y luego escribe el nombre del proyecto. Entonces esto es una especie de zócalo. Windows debe ser nombre muy sensible así como nombre corto para que puedas entender lo que estás haciendo en el programa. Este es un nombre de carpeta que desea volcar este proyecto. Luego haga clic en Siguiente y simplemente cree un programa predeterminado Hello World para usted todavía. Ahora tenemos que reemplazarlo por el código del servidor. Ya he escrito el código. Yo copiaré aquí. No quiero perder el tiempo y escribir instrucciones sencillas, únicas. Ya has visto en una sesión anterior qué estarán usando todas las instrucciones. También te explicaré línea por línea las instrucciones sobre el programa de juego en sí. Y entonces lo estaremos ejecutando. Mientras lo haces. Nuevamente. Escribiendo todo el código, volquemos el código que ya he escrito. El código que ya he escrito acabo de descargar. Sólo tengo incrementos, aumente ese ejercicio para que puedan ver qué codificación estamos haciendo. Para aumentar eso excita. Ahora empecemos entendiendo este programa uno por uno, línea por línea en el servidor. Por lo que está usando los mismos disfunciones que ya hemos visto hasta ahora. Ahora, la ejecución de tu programa comienza desde el primero, esa es la función principal. Espero que así puedas estar sabiendo cuál es la función principal. función principal es la función mejor cada vez que compile el código, cada vez que lo ejecute, la ejecución de su programa siempre comenzará desde esta función principal. Cualesquiera que sean las líneas de código que vas a dar en esta función principal, nueve por nueve ejecutadas. Y es un punto de entrada para iniciar una ejecución del programa para que los costos de control entren en esta función principal y motor, cualesquiera que sean las líneas que haya escrito aquí que se ejecutarán línea por línea. Ahora, veamos por el código del servidor lo que hemos escrito para la programación de socket. Hemos declarado, hemos visto esto como datos de WIC. Hemos visto lo que es. Tenemos, hemos inicializado, hemos creado, creado la variable sobre este tipo de datos, es decir datos WSL. Hemos visto que en caso de que en las ventanas, tienes foo. Inicializar la biblioteca de calcetín de viento para eso, estaremos utilizando. Estarás llamando a la función de inicio. Esta función de inicio está teniendo dos argumentos de los cuales el segundo argumento es el puntero a los datos de estructura WSL. Tan amplio estructurado como sea necesario. Hemos visto que necesitamos esa DO. Esos son eventos bibliotecarios a menudo. Se comunicará con el programa, dando información al perro sobre información crítica, es decir, cuánta cantidad de tomas se pueden crear. Esta estructura será llenada. Y así como lo vamos a estar utilizando, por tanto, tenemos que crear una variable ofrecida de esta manera, datos WAC. Entonces estamos creando el objeto de este socket. Estamos teniendo dos objetos en este zócalo. Sabemos que el descriptor de socket estará recibiendo cuando llamemos a la función socket aquí. Y tengo un descriptor de socket que me engañe cuando llamamos a la función except. Así salida de la función en su que un descriptor de socket de modo. Hemos visto que todavía hay una razón. Creando el objeto de este socket, estamos creando nuevos objetos por el socket del servidor de nombre y por el nombre soy calcetín. Entonces la siguiente parte es SOP ADD o iones de subrayado. Entonces estamos pintando de nuevo para objetar porque en V&V llamó a una función socket. Cuando llamaremos a la función bind, has cumplido todo estructurado con dirección IP donde ese servidor estará ajetreado y con el número de puerto. Entonces esa es la razón por la que se requerirá esta estructura. Y eso será en crear el objeto del mismo. Y luego otra vez, se requiere mi más estructurado. Se requiere siempre que llame a la función de salida. Aquí tenemos que mencionar esto. Parece aquí. Esa es la razón por la que esto se requiere y estás creando en cubierta ofrecida de esta manera. Ahora, la primera función que se llamará UFC, tiene que inicializarlas en la biblioteca de sal. Por lo tanto, estaremos llamando a esta función de inicio WSS. Y estarás pasando dos argumentos. El primer argumento, que será mejor, le dirá al programa quiere usar la versión de bibliotecas de errores y socket. Entonces como el programa quiere usar una versión 2 antes de que se dé el primer argumento de esta manera, hacer lo que en el paréntesis dos coma 0, eso significa el programa uno a usar. Cuando Socket Library 2. El segundo que es un puntero a esta estructura, esta estructura de brujas, que los datos estarán aquí aunque. Biblioteca de sockets con programa de ancianos o cuántas cantidades de tomas se puede crear. Por lo que esto se llenará antes de que la función de inicio de la CMSI llegue a su fin. Es así como esto se pasará como un EMT y se llenará. No he hablado biblioteca y esta información será llenada. ¿ Cuántas tomas se van a crear, de nuevo? Salir de la información previa. Así es como estamos llamando a esta función para el sitio de programación de socket de ventana y servidor. Entonces lo siguiente, ya que no, sabes, parte de la regla es crear un socket. Ahora vamos a crear un socket. Entonces al crear el socket, tenemos que mencionar tenemos la victoria cosas que está publicando será la familia de direcciones. Por lo que estaremos usando IPV4 y la implementabilidad de esta manera. Segundo menos el zócalo, socket apretado. Por lo que queremos que se cree este socket de corriente que sea confiable y protocolos de comunicación beta de carbono. Entonces lo estamos dando como ceros, así lo hizo antes de que pueda ser 0. Para esta corriente usa TCP, puedes usar Xero. Otro. Una vez que llamemos a la función socket, devolverá el descriptor del socket. Ahora, este descriptor estará utilizando para diferentes funciones por delante. Eso es para la función de enlace o la función oyente así como para la función de salida. Ahora, puedes ver lo que estamos haciendo aquí. Estamos llenando esta estructura. Entonces, ¿qué es este conjunto de ADD? Dije antes es del tipo socket ADD. Como hemos visto que cuando llamamos a esto se requiere, se requiere todo este código en la función bind. Ya que en función bind, nos moveremos en el socket para ser vinculante. Número de puerto particular y dirección IP. El número de puerto y la dirección IP deben indicarse en la estructura. Esa estructura es el servidor ADD o que es de otros tipos, calcetín ADD o subrayado de hierro vía llenado uno por uno. Te dije esta dirección, que estamos dando para que un servidor escuche para vincular a esta dirección es lo que te he explicado en detalle en sesión anterior. Permítanme dar IN, AGREGAR y subrayar. Significa que quieres barra lateral a todas las direcciones IP para la víctima, diferentes interfaces de red en ella. A pesar de que los usuarios utilizan tierra para buscar Internet, entonces la dirección IP de esa tierra decidirá dónde puede vincularse. Y si el usuario está utilizando Wi-Fi, eso es diferentes interfaces de red están teniendo diferente dirección IP densa sobre esa dirección IP en la misma máquina host. Entonces el segundo argumento estamos mencionando la imagen VM. Mencioné a la familia. Entonces cuando les des este colector, IPV4, será de esta manera. Entonces estamos dando la cantidad número de puerto al salvamento de dame cuatro veces cinco. Podemos dar cualquier número de puerto mayor a 1024, menos de seis por 535, porque uno hasta 1024 se utiliza. Y aunque después de 10 ir por, puedes dar cualquiera del número de puerto. Así que sea cual sea el número de puerto siempre recordarás el lado del cliente. Tienes que dar el mismo número de puerto porque los clientes se conectarán al mismo número de puerto donde la barra lateral es mía a toda la estructura. Una vez que se llena, entonces volverá a llamar a la función de enlace. Pasarás el primer argumento ya el SOC es lo que es un descriptor en realidad que tú, que es lo que fue escrito cuando llamas a la función socket. Este es un descriptor de socket. Aquí estamos pasando los postes y el segundo argumento humano es la estructura que puede haber sentido que estamos pasando por aquí. Y luego el tercero es el tamaño de esto. Info. Ahora bien esto, de esta manera, al comprar la función ahora la barra lateral es vinculante al número de puerto y a la dirección IP. Ahora lo que hacen los oyentes en caso de la lección, la función de lección, estás pasando el primer argumento como de nuevo el descriptor del socket. Y el segundo argumento, número, conexión de cliente, que quieres mantener en q, ya que no queremos si no quieres ninguna, cualquier conexión de cliente para mantener en q, entonces simplemente podemos escribir 0 o podemos uno si quieres una conexión, será en q conexión automática y cubo. Así es como funciona. Entonces esta lección significa que está escuchando, escuchando la conexión de línea Connect. Eso es todo. Después de eso estaremos llamando a la función de salida para salir de la conexión de la planta. Esto significa barras, de nuevo este descriptor de socket que se devolvió de la función socket. Segundo, pasaremos esta dosis golpeada, tan destruida como vacía, se llenará en realidad. Una vez que continuamos llamada función de salida. Aquí, todos los detalles relacionados con el cliente serán cumplimentados. Toda la información relacionada con esa línea. Cuál es la dirección IP, qué es, qué número de puerto se a qué número de puerto se ha mapeado y todos los detalles se llenarán en realidad cuando llamemos a la función de salida y al tamaño de esta. Entonces, por lo tanto simplemente estamos pasando como está. Y luego se está ejecutando, entonces encuentras nuevo descriptor de socket. Entonces este descriptor así como este descriptivo, ambos son diferentes. Te dije aún es diferente porque este descriptor se puede utilizar para aceptar otras solicitudes de conexión desde esa línea. No queremos que nada se bloquee. Por lo que este Sócrates se comprometió, en escuchar y aceptar la conexión. En ese caso. También queremos leer y escribir simultáneamente operación. Una vez que lo es, está aceptando una conexión por parte del cliente. Queremos leer y escribir para estar cazando y no queremos que sea, pero por lo tanto, otra carga, el guión de otro socket o descriptivo será medio GET y vamos a mantener eso, enganchar en la lectura, escribiendo éste y éste. Lo que acepta otra conexión de cliente. Ojalá hayas entendido esto y esto y esto se haga. Una vez dicho sobre acepta esa conexión del cliente y es capaz de recibir el mensaje del cliente. Entonces tu propio descriptor, te mencionaremos aquí, si esto es exitoso, entonces sólo nosotros podemos recibir aquí. Por lo tanto, si se menciona la condición y se va a conseguir este cliente derecho V, usted mencionó este socket descriptivo. Ya que necesitamos recibir en este socket en sí mismo, entonces lo que el cliente haya dicho será recogido en este buffer. Y luego mostraremos este mensaje. Entonces memset se almacena en búfer a 0. Y entonces así es como después de todo es que estoy perdiendo el zócalo. Por lo que depende de su uso. Usted se pone en la llamada la misma función aquí. Si desea que se pase alguna información del motor desde el servidor, entonces puede llamar a la misma función. Y si quieres conexión repetitiva, puedes poner un bucle aquí también. Y se puede escribir la condición de que si alguien caminando condiciona que el usuario le dé esto y salga del bucle y no sepa Nieto más allá querer cualquier comunicación dependiendo del uso. Nuevamente, modifique el programa. Este es un programa sencillo y estoy recibiendo el mensaje de la decoración de la planta. Estoy llamando a esta función de recepción incluso puedo llamarla una función sinusoidal si quería enviar algún dato. Es lo mismo. Entonces función de seguridad y estará llamando desde esa línea para que los clientes puedan enviar un mensaje. Incluso en los clientes que llamamos, podemos llamar a la función de recepción, sin embargo estaremos aquí. Te estoy mostrando acerca de recibir el mensaje desde el sitio cliente. lado del cliente estará enviando ese mensaje. Ahora, estamos cerrando el zócalo de esta manera. Así es como sucede esto. Espero que hayas entendido todas y cada una de las líneas de código y esta voluntad, lo encontraremos más que Z porque hemos hecho todos los requisitos previos antes de iniciar el programa. Hemos visto todas las funciones en detalle. Hundiendo con el código. Te pido que lo pases si no te has ido porque he vuelto a repetir todas las cosas aquí, pero con más detalle de explicar esa sesión en sí no te hizo entender. Ahora, vamos a construir. 11. Socket Session7 Serverel de la ejecución: Antes de eso, quieres poner los pulmones. Por lo que ya he dicho el log a segundo lugar, para aumentar el tamaño, acabo de seguir. Si desea pertenecer aquí en la consola, se requiere la configuración de pupilo. Haga clic en Nuevo, y luego es necesario comprobar en este cerraduras. Una vez que revises este bloqueos, entonces verás esta querida pantalla que ya he comprobado, así que estoy obteniendo esto bloqueará la pantalla ahora soy como construir un programa. Haga clic en. Déjame limpiarlo porque ya lo he probado apenas un segundo. Vale, ahora haz clic en Construir y luego compilar ese archivo. Por lo que aquí se puede ver no hay flechas In TO, en el lado del servidor. Ahora vamos a vincular. Ahora quería mostrarte aquí una cosa importante. No he hecho ninguna probabilidad de configuración en water Admin setup, que te mencioné en la sesión anterior se supone que debemos hacer por las ventanas. No he terminado porque quería mostrarte el error. Y luego después de la, verás ahí cuando ejecutemos habrá un enlace en ella. Y por supuesto se puede ver que no he hecho ninguna configuración. No estoy vinculado a ninguna biblioteca, entonces entenderás cómo arreglarla, cómo vincularla. Esa es una razón por la que no lo he arreglado antes para que si lo hubiera arreglado, no hubieras golpeado mi caso. No habría recibido error. En su caso. No lo habrías conseguido y yo no quiero que nada quede atrasado. Esa es una razón por la que no he hecho nada. Quiero que entiendas todos y todo y cómo arreglarlo todo. Así que ahora vamos a vincular el gráfico azul. Ahora vamos a construir y correr. Debería recibir un error de vinculación. Sí, quería enlazar encabezado. Se puede ver aquí en la consola o en el propio blog. Se puede ver referencia indefinida a startups tecnológicas de WSS o a las funciones que estamos llamando agua. Cuando esos startup, el Lewis ha comenzado entonces socket todo. Se está consiguiendo una referencia indefinida. ¿ Por qué? Porque ya te lo he dicho por el sistema operativo Windows y te metes en la programación socket así como en el cliente. Dado que estamos utilizando diferentes funciones, estamos utilizando las funciones que se definen en la Biblioteca de Socket de viento. Tenemos que enlazar en nuestro proyecto a esa biblioteca edición fija no lineal. Porque tenemos construyendo esa biblioteca para que ocurra el tiempo de ejecución en la vinculación. vinculación siempre ocurre cada vez que se está ejecutando el código, entonces solo la definición la función no rechazaría la fama en ni declaraciones ni cuando esté llamando a sus funciones en tiempo de compilación, se compilará con éxito porque pongo un cheque en ninguna de las declaraciones que se habían recibido del archivo de cabecera que usted ha mencionado. Usted consiguió todas las declaraciones para usted, no recibió ningún error. Pero en el tiempo de vinculación verá la definición. Esto, no lo vincula. Tú, obtendrás la referencia indefinida que al ejecutar. Ahora veamos cómo solucionar estos errores. Bueno, obviamente no lo soy. He eliminado esas configuraciones, construyo configuraciones del entorno, así que te mostraré desde cero. Para eso. Te he enseñado cómo hacer eso. Ambas configuraciones van a compilador, tu ir a enlaces o ajustes paso, bueno, estás teniendo otras opciones de enlace aquí. Es necesario dar a esta biblioteca, esta bibliotecas para Windows socket 32-bits. Entonces esto es por eso. Tienes al usuario cuando Socket Library y por lo tanto estás haciendo pensando y dame menos Lusaka hacer entonces solo guarda esos ajustes. Ahora cuando compile su código, debe compilar con éxito. Ahora está diciendo que ver este mensaje, hemos dado este nombre para las conexiones entrantes. Hemos dado este mensaje aquí, en realidad C-out escuchando para conexiones entrantes. Tan triste, ¿qué está escuchando? ¿ Ahora? Se suponía que escribimos ese código. Entonces dije que la carga de trabajo se está ejecutando. Ahora, recuerda siempre, tenemos que reforzar el código del servidor y luego subir porque el servidor es necesario no era sin puerto del servidor si se ejecuta directamente para ser un problema porque este es un un cliente será, estoy integrando. Debe ser siempre, siempre se debe lanzar. Y aquí estaré mostrando, ya que te dije que estaremos viendo la comunicación socket entre el servidor y el cliente. Aquí, ya sea puede usar, puede ejecutar su servidor en una máquina host que es una computadora portátil y puede aprender idioma. Y otra laptop que es otra máquina host que es hosts remotos. Y puedes hacer la comunicación socket que estoy teniendo. Te estaré mostrando cómo hacer la comunicación del cliente del servidor socket en una sola máquina. Supongamos que solo estás teniendo una sola máquina, entonces cómo puedes realizarla. Por lo que eso también es posible. Es que hay que hacer algunos ajustes, cómo va a crear un proceso de servidor y proceso cliente. En este proyecto, estamos utilizando este IDE, que estamos utilizando es el IDE de bloque de código. Ya hemos creado un proyecto por repentino que en este bloque IDE. Ahora para que el cliente cree un proyecto para el cliente, no podemos crear el proyecto. El cliente en este ID mismo. Qué es eso en este ID de bloque de código. En esta instancia dice que no podemos borrar porque en algún momento se necesita este ID de bloque de código. Podemos ejecutar un programa. No podemos ejecutar dos proyectos. Quiero decir que no podemos ejecutar mis proyectos de picnic en un solo, en la misma instancia en antes de bloque. Si desea que se ejecuten varios proyectos, entonces debe lanzar múltiples instancias de registro de alimentos. Entonces esta es sólo una instancia. Es decir, he hecho clic onetime code block ID y obtuve esta instancia. Y aquí he creado un proyecto posible, por lo que no puedo crear otra línea POC del proyecto y misma instancia en el ID de coordenadas y hacer la comunicación para eso. Tienes que crearlas que tengas en el ID de bloque de código. Crea otra instancia de identificación de woodblock y tienes que escribir código de buggy y luego tienes que hacer la comunicación entre ellos. Entonces por defecto, no podrás crear la segunda instancia del código mole sodium estará en tiempo de evento. Así que pinchando en la palabra amor a hacer para conseguir nueva, nueva instancia que no obtendrás. Porque por defecto la configuración se hace de esta manera que cada vez que se va a lanzar el mismo ID de bloque de código. Pero ahora tenemos que ejecutar servidor y cliente en diferentes woodblock independiente desde bucle ascendente. Entonces para eso necesitas, necesitas hacer la configuración. Ya he hecho la configuración en mi caso, pero para tu caso, te he estado mostrando antes de escribir el programa del servidor como el doble clic en el ID de bloque de código. Y hay que hacer esa configuración. Y luego escribes el programa del servidor, que aún no he hecho, ¿qué fisio? Y luego compilas el código, lo ejecutas y luego la segunda vez y haces clic en Code Block ID, obtendrás la segunda instancia ofrecida y tendrías razón, ese código de línea, la configuración que te estoy mostrando. Recuerda, se supone que debes hacerlo antes de escribirlos. Inhibidor cerebral, asignación completa, nuevo doble clic en ID de bloque de código. Tienes que hacer la configuración. Entonces, ¿cómo hacer eso? Obtenemos la instancia múltiple de ID de woodblock. De este modo ve a Ajustes. Entonces hay que ir al agua y al agua admitir que ya lo he hecho. Esa es una razón. Ya los cambios que ya están ahí, que estoy hecho. Si bien tu caso, puedes ver aquí permitir solo una instancia en ejecución que está aquí. Se marcará la casilla de verificación. Se revisará. Por defecto, se comprueba. Y ya lo he descomprobado. Porque tengo múltiples instancias. Por defecto, esta casilla de verificación se marcará para permitir solo una instancia en ejecución. Y esa es una razón cada vez que cada vez que lanzas el ID de bloque de código, como conseguir lo mismo para el bloque lanzado. Dado que esto es check por defecto, lo he desmarcado porque quiero instancia múltiple también lo siguiente que se usa en instancia ya en ejecución que también se comprueba por defecto. Por lo que solo desmarque que también tú en oposición a desmarcar el align en la instancia man running así como usar ya corriendo, sin marcar ambos, que ya he hecho eso donde tú no puede ver esa marca de verificación en eso. Estos ajustes son necesarios y verificarlo y luego haga clic en, Ok. Ahora voy a crear otro proyecto para el cliente. Y ya puedes ver que me permitirá crear otro proyecto. Volví a hacer doble clic en ID de bloque de código, conseguí los nuevos proyectos. Para que puedas ver un proyecto es el que no he escrito el programa del servidor, y este es el otro proyecto. Por lo que me permitió crear otra instancia del woodblock no proyecto, está permitido. Entonces esta es una instancia de la coordenada donde he lanzado otra instancia en el codón haciendo doble clic en ella, no me salvaron. Instancia en ejecución. Estado lanzó. No. El proyecto para el cliente. Por lo tanto haga clic en Archivo, seleccione Nuevo proyecto. Haga clic en los pasos de la aplicación de consola como equipo, solo para que tenga seleccionados dos cplusplus dental. Haga click en Siguiente, dar programación de socket. Después haga clic en Siguiente. Haga clic en. Volcará un programa predeterminado HelloWorld para ti. Así que ya he escrito programa de esquema y solo copia pega aquí y te explico las instrucciones línea por línea. He pegado copia aquí. La codificación del lado del cliente es mucho un CDF para simplemente conectado. Lo veremos en tan solo un segundo. Permítanme aumentar el tamaño de la fuente para que te estés viendo. Permítanme cerrar esto para que puedan ver con más claridad las instrucciones que estoy mencionando. Este es ese programa de línea. Habíamos mencionado sin embargo, expedientes de crédito. Ya que estamos utilizando, lo estamos haciendo para el sistema operativo Windows. Ahora de nuevo, la función principal que ya conoces, es un punto de entrada para iniciar la ejecución de cualquier programa. Hay que tirar el código aquí mismo. A pesar de que puedes hacer que tu función modulo, simplemente puedes definir todas estas cosas en alguna función y puedes llamar a esta función, pero siempre desde la función media en new, tienes que preguntarte función simplemente año he hecho el código. Sé que podrías ser un metal. Estos datos WAC, que ya les he dicho, esta estructura es un segundo argumento en esta startup de WSS, sabemos lo que está apilado WSS. Se utiliza para inicializarlos y Socket Library. En el primer argumento, el programa indica qué versión de la biblioteca de tomas de viento si quieres utilizarla. Ya que tenemos que usarlo, quería usar la versión 2 he sido socket library. Este es un argumento falso y segundo argumento es la estructura. Esta función de inicio llenará esta estructura en la que Devin Socket Library Podría pasar. Enviaré la comunicación sobre una información política. Se enviará a este programa acerca cuánta cantidad de tomas se pueden crear en otra información, esta estructura se puede alimentar cuando llamemos a la startup bluesy. Esta estructura hemos declarado, declaró la variable de la estructura de esta manera, datos de WSU. Ahora el segundo objeto que estamos creando es para el socket. Desde mí me llamarían creando un socket en el lado del cliente y por lo tanto VR en ella creando disponible en eso. Y luego estamos creando el video antes esto pero también estructuramos porque pasaremos los detalles del pedido. Hemos sido dirección IP y el número de puerto al que debe conectarse el cliente. Debe estar conectando al servidor. Entonces tenemos que escribir eso en la dirección IP. Entonces en nuestro caso, ya que estamos ejecutando el servidor y cliente en la misma máquina host. Por lo que el lado del cliente debe conectarse al impulso local porque en el host local significa en la misma máquina host, mismo era máquina porque en la que la clientela necesita funcionamiento superficial. Y porque estamos ejecutando siete y cliente en la misma máquina host, por lo tanto, simplemente podemos dar la dirección IP en la misma máquina host que es una laguna, quiere mecanografiar. El cliente no es un servidor de entrada corriendo que dijo que hay que dar el mismo número de puerto que el servidor está escuchando. Ahora estaré siguiendo la función socket. Teníamos. Creo que el primer argumento que ya te dije, es una familia de direcciones de Internet. Y el segundo es que el tipo socket stream. El vapor es poco fiable tipo de toma y todos los detalles sobre el zócalo que habíamos visto en los fundamentos del zócalo, ¿cuáles son las características? Este zócalo genético es confiable. Uno, cierto, es confiable. Todo lo que mencioné eso. Y luego el tercero es un protocolo de comunicación y stream usa un valor predeterminado de PCB es 0 valor. Ahora este socket devolverá un descriptor a ese socket. Descriptor que tienes estarás en cuando compraste la función padre, encontrarás pausas. Como argumento de esto, este descriptor socket pasado humano en contraposición al argumento. Entonces, ¿qué hace estas tres cosas? Nuevamente, lo desea, ya que el cliente se estará conectando al servidor. Por lo que los clientes inclinados, tenemos que llenar todos estos detalles sobre la dirección IP y el número de puerto. ya te dije ese servidor y cliente, queremos comunicarnos a través este todo dado la misma máquina host en la sola laptop, solo pendiente de cubierta misma. No queremos hospedar a distancia, no queremos laptops, cliente cerebral y aprendizaje. Voy indiferente. Diferentes laptops saben que estamos haciendo programación y misma máquina host y máquina guardada en sí misma y por lo tanto, qué dirección IP va a estar dando en el lado de la línea, simplemente, queremos diabetes del host local porque host local de agregar el cliente está ejecutando servidores de origen ejecutando quanta ejecutándose en el mismo host. Cuando se te da de esta manera, significa que no hay bordes traseros. Te he explicado que también en la sesión anterior, significa que estará conectando a la dirección IP del host local de las noticias locales, sea cual sea que tengamos que resolver eso. Y luego estamos dando esta familia de direcciones y desde la perspicacia de lo que está escuchando el puerto número 45555 y depo, estamos dando el mismo número de puerto. Si hubieras mencionado diferente número de puerto. No has mencionado ese número de puerto aquí dice del lado del cliente. Entonces estamos llamando a la función connect. Función de conexión. Estamos pasando este primer argumento como este descriptor socket, que obtuvimos de esto. Y luego en este descriptor socket, Entonces segunda cosa estamos pasando esta estructura, luego tamaño de eso, justo en el lado del cliente, tenemos que llamar a la función de desconexión. Y una vez que el cliente llama a la función connect, y una vez que el servidor acepta esta conexión, entonces puede ocurrir la comunicación de servidor a cliente, cliente a servidor. La comunicación de Broadway puede suceder. Entonces aquí simplemente lo estoy enviando. También puede llamar a la función de recepción. Pero lo había hecho muy fácil llamándolo a la función de cada lado. Por lo que estoy enviando este mapa mental, enviando esta función hola te locura y pasando esta descriptiva en sí, y luego pasándola buffered, me he inicializado al valor que es hola. Y luego tamaño de la deuda. Entonces estoy cerrando la limpieza del zócalo que hemos visto. Lo es. Para cerrar el socket en caso de Windows, estamos llamando a estas dos cosas a recursos. Entonces se requieren todas estas cosas para cerrar la conexión socket en caso de Windows, te he explicado cuál es el propósito de la limpieza y es así como este es el sitio de toda la línea de productos . O déjame compilar este código ahora haga clic en Construir, el padre, sin flechas. Entonces creo que debería obtener el error de vinculación porque no he terminado ninguna configuración de vinculación para enlazar a la biblioteca cuando 32, su compilación y ejecución. De acuerdo, ya he hecho esa es la razón. Sólo un segundo. Permítanme cruzar el reglamento de configuración a cuadros. Está bien, esta biblioteca ya está agregada. En realidad, estamos creando lo nuevo y estamos creando la nueva instancia. Estos ajustes ya no lo son. Entonces esa es una razón por la que no conseguiste ningún vincularlo. ¿ De acuerdo? Entonces tienes salida aquí. Este 2 segundo, este cliente, tenemos cliente de lanzamiento. Ahora se puede ver que tenemos el primer mensaje está conectado al servidor. Este mensaje viene una vez que el lado del cliente está enviando la conexión, y una vez que el servidor acepta una conexión, entonces solo se obtiene este mensaje conectado al servidor. Entonces lo que pasa es tan aceptada la conexión. Por lo que tienes este primer mensaje del Reino Unido. Nueve, está conectado al costado de la misma. Entonces al lado de un lado cliente estamos pasando este mensaje Hola. Cliente está enviando este mensaje hola y tenemos toda la función de recepción del servidor. Por lo que debe salir de este mensaje y debe imprimirlo. Este mensaje que tenemos, estamos enviando realmente desde el lado del cliente. Estamos enviando esto como Hola y lado indecidible. Déjame abrir el código del lado del servidor. Este es un código del lado del servidor. Está recibiendo el mensaje del cliente, por lo que se recoge en la hebilla y lo estamos imprimiendo en la citometría de la pared lateral, ver la consola en el lado del servidor. Entonces cuando veas la consola del lado del servidor, lo verás decir, dice cliente desconectado. Dice que el cliente neto está diciendo hola fuentes disminuyen más rápido. Hola mensaje que hemos visto y eso se recibe en el lado del servidor. Y porque dije virus tiene, pero en efecto ese mensaje en la consola, como dice león Hola, ver en el servicio me contrataron. Sea lo que haya recibido aquí, se conectó en Buffalo y luego está imprimiendo. Aquí está el cliente ve qué oferta descendente. Hola Dakota, está impreso en ese lado. Entonces esa es la razón por la que recibiste hola. Así es como es posible que haya visto cómo el cliente está conectado al servidor. Y creo que pasar una conexión al servidor, el servidor lo está aceptando. Y luego cliente está enviando el mensaje y escribiendo los mensajes enviados. Y luego poner alrededor está recibiendo ese mensaje diciendo que la línea dijo hola, y luego estamos desconectando del entonces el cliente se pone, se desconectó porque hemos llamado. Depende de cómo haya ejecutado la edición, la codificación de su programa. Tenemos desde que hemos cerrado el socket de ese cliente, por lo tanto, se ha desconectado. Pero recuerda siempre, no puedes cerrar el socket para el servidor y decirle a un analista que no cierras el socket, el cliente porque servidores en cualquiera de ellos a los que se conectará todo el cliente. No parece un demonio. Es así como hemos visto la comunicación del socket acera nueve para el sistema operativo Windows. Te diré que compraste ido. Lo entendiste y él había visto la ejecución de la conferencia. Ya terminé por ahora. Gracias. Muchas gracias. 12. Socket de la sesión de Socket y la programación: Bienvenido a esta nueva sesión para programación de socket para Linux. Por lo que aquí en esta sesión me dio escribir el código para el lado del sistema Linux de nuestra programación de socket cliente y también lo estaremos ejecutando. En la sesión anterior, hemos escrito el programa para el servidor así como cliente usando C plus plus lo que las ventanas. Y hemos visto cómo crear un nuevo proyecto en el IDE, en el ID de bloque para el Windows y se requieren múltiples configuraciones previas, acompañar y ejecutar el programa para la ciberdelincuencia. Lo hemos visto y lo hemos ejecutado. No hemos hecho la línea de acera de comunicación. Ahora estaremos haciendo un servidor, programación de socket cliente en Linux, sistema VM Linux usando lenguaje C, y también lo estaremos ejecutando antes de la sesión. También hemos visto diferencia de mortalidad o no en los métodos para Windows y para Linux. Y luego en una diferencia muy mínima y configurar qué cambios se requieren para el circuito. Hemos pasado por la presentación y explicamos, usted. Ver consejos prácticos. Empecemos aquí. La configuración muy primera configuración requerida es que tienes que asegurarte de que no tienes un sistema de índice válido en tu caso. Y ya que estaremos haciendo el programa para que no necesites instalar ningún ID de bloque de código. Por lo que aquí mismo, hay formas en que puedes escribir tu programa ya sea si quieres ejecutar al usar la ventana Dui, puedes instalarlo. He usado un símbolo del sistema simple. Entonces, qué otras cosas están disponibles por defecto en Linux o has empezado a auto, no necesito instalar nada requerido porque ya para el Linux, si hablas de los lineares directamente, puede ir al símbolo del sistema. Si está teniendo GCC instalado, por defecto, obtendrá este GCC. Gcc es una herramienta para compilar tu, el programa. Y también puedes ejecutar cualquier salida que estés obteniendo. Usted puede ejecutarlo directamente. El titular, esta salida, esto creó. Entonces te estaré mostrando cada y todo paso a paso. También. En mi caso, te he mostrado esas máquinas ya que estoy teniendo esta laptop esta configurada para la máquina Window, no estoy teniendo suficiente. Pero, ¿quién te hace explicar? quién has escrito el código? Servidor, Cliente o Linux? También tengo instalado en mi propio sistema Windows o la VM Linux se reunió. Por lo que incruzamos, podrías estar sabiendo que es una máquina virtual. Si estás teniendo diferente sistema operativo aquí, en mi caso, estoy teniendo windows, pero también quiero escribir el programa para la Lena. Entonces si quieres para la compilación cruzada, si debes uno es diferente sistema operativo que deseas, tienes que escribir el programa. Puede instalar directamente VirtualBox. Y a partir de ahí puedes escribir, puedes obtener una descarga la imagen ISO, ISO para el sistema operativo que quieras. Entonces por qué mi caso quería para el sistema Linux, porque quería explicarte servidor socket, comunicación de código cliente y ejecución en Linux. Y ya tengo informe de Windows. He descargado ISO para Lena hasta ahora tú no es nada todo lo que se requiere. Estás teniendo un sistema Linux. Puedes escribir directamente el código. Estarás teniendo a los comunistas decidieron sistema Hat Linux. Estoy teniendo ventanas. Pero para ejecutar también el programa para los inclinados, tengo que instalar el VirtualBox. Simplemente considere que está teniendo la máquina Linux. Por lo que incluso si instalas VirtualBox, si no estás teniendo Linux, puedes descargar la imagen para eso. Y si has hecho tu máquina configurada a lineal, por lo que esto es sencillo. Entonces aquí también, solo considera que estás teniendo abdominales para la máquina Linux. Estarás teniendo determinantes por defecto. Veamos cómo ir. Entonces veamos la vista previa, qué todas las cosas estarás cubriendo en esta sesión. Existen diferentes métodos socket de otro servidor solo para repetir y graficar. Se crea socket. En el lado del servidor hay que crear un socket, entonces hay que encontrar. Entonces todos estos métodos son comunes a eso para las ventanas, acaso se puede ver que es un método no presente en el caso de Venus, es decir wx, una función de datos del método WSS. Esa función estaba muerta en NAEP o el código de la máquina Windows así como para el cliente apostaría. Alin's, ya he mencionado que WAS startup, función de inicio que se requiere para inicializar que se han dirigido biblioteca no está presente en caso de esta máquina Linux que es sólo la diferencia. Y estas otras funciones que hay son casi iguales. Sólo esa parte desconectando la de Nina. La sintaxis será diferente y hay alguna diferencia estructural. Entonces te lo mostraré. Si el socket cliente vuelve a métodos, lo mismo que la función de datos WAS no está ahí, que es específica de Windows. Es decir para crear un socket, conectarse al servidor y recibir datos y luego desconectar. Entonces los métodos y datos estructurados específicos, nuevos, específicos para el Linnaeus saben WSS Startup función usando Linux, que te dije que esto se ha hecho en Windows, entonces la función de cierre también es diferente. En caso de Linux, el soviético sólo tiene que llamar a la función de cierre. Pero en caso de Windows hemos visto tenemos que llamar socket. Y eso también es FUE como Nina requería para desconectar el zócalo. Entonces toda esa función estaba ahí solo para la plataforma Windows. En caso del Linux estamos teniendo función de divulgar. Entonces el tipo del descriptor de socket que se devuelve llamando a la función socket es diferente. Entonces aquí, cuando llamamos a la función socket tanto en el servidor como en el cliente, por lo que devolverá socket descriptor en la ventana sido basalts, era el mismo tipo de descriptor de socket es diferente en caso de retorno lineal en tipo. Y en ese caso, a menudo Windows, devuelve socket. Aquí, cuando escribimos el programa, lo entenderás acabo de hacer o qué te tengo, acabo de escribirlos todos abajo para ti. Entonces hay diferentes. Este tipo de estructura de dirección de socket es diferente si hay diferencias poco apretadas. Los mismos métodos o tipo de datos están ahí. Específico a Linux? Dado que este zócalo o tipo de desestructura es diferente. Entonces esta acción, ya sabes que esta estructura de dirección socket, lo que hacemos aquí, lo llenas con los detalles de la dirección IP así como el número de puerto. Ya que eso es diferente. Por lo tanto, usted sabe que la idea de producto o servicio llamando a la función texted. Entonces en esto, excepto por una función usamos este arquetipo, esta estructura. Entonces como el tipo es diferente, por lo tanto, el, esto cambiará en función de salida también para el lado cliente que llamamos Connect. Por lo que de nuevo, usamos esta estructura de direcciones socket. Por lo que esto será diferente. El tipo será diferente en un socket ID fue golpeado tonto, sí lo usa función iónica. Por lo que incluso verlos dividir escribiendo el programa, no te preocupes por ello entonces con respecto al archivo de encabezado, los archivos de cabecera requeridos para el Linux serán diferentes en comparación con el de las ventanas. Ahora, estas otra diferencia, ahora vamos a empezar a escribir el programa o el código del servidor y la programación del socket de puerto del cliente en Linux. De nuevo, ya saliste, estoy asumiendo que estás teniendo un sistema Linux aquí y estás, estás a punto de escribir un código. Entonces lo he hecho flexible. Estoy cubriendo todas y cada una de las cosas aquí. Incluso si escribes la programación para proceso de programación de socket de solicitar Windows, puedes referir la sesión anterior y si estás teniendo la máquina Linux, entonces puedes grabar la sesión. Por lo que para Windows también han cubierto programación y ejecución y cuatro unidades y publicación para que estés en 14 escribiendo el código para máquina diferente, diferente o te sientas cómodo con él. Entonces esa es la razón por la que he mencionado una diferencia y el código en hacerte entender la diferencia en IQ. Empecemos. Abriré mi dominante del dominante y estaremos escribiendo el código. Vamos a abrir. Sólo déjame escribir su personal. Ok. Este es mi dominante de la VM. Déjame volver. Por lo que asumo que quieres, si estás iniciando la máquina Linux de la sala de juntas de código, estás al tanto de los comandos. Esto es como si te sientes cómodo con Windows, puedes ir a la sesión de audio. Y si lo eres, quieres escribir un programa para Linux, debes estar al tanto de cosas básicas como ls. ¿ Qué está haciendo Ls? Entonces en Linux, en su mayoría usamos este símbolo del sistema. Esta es nuestra terminal. En realidad, lo he abierto. Se puede ver el nombre dominante. Y yo solo, debes conocer comandos básicos en el Linux si quieres escribir el código aquí, si quieres entender cómo volver a volver al directorio anterior o mostrar qué Einstein nos dijo en particular directorio. Entonces soy, y se puede ver mi PWD, Esta es mi parte que es mi nombre. Y actualizé el nombre de la carpeta por programación de socket MKDIR. Y aquí si lo hago ls y ya he escrito el código para socket, puede coordinar socket varios cancha. Por lo que abriré este código para usted en esta forma. Éstos somos dos de nosotros. En lugar de tener archivos C, presidente, pasaré por estas ventanas y te mostraré el archivo C. Te mostraré cada una de las instrucciones que se utilicen. Es casi similar a la de la ventana, sólo un poco diferente es que no lo hago, no quiero empezar a escribir Internet cada instrucción nueve por nueve, así que ya he escrito aquí. No quiero perder el tiempo y escribirlo. Ya te harás mal porque casi todo es similar a esa diferencia de función específica, diferencia estructurada, y allí hay 100 defensas diferentes. Este Ls. Ahora para empezar con el código del servidor, déjame abrir esta carpeta. En el SOC Server Update dot c. ahora como abrir este archivo usando este dominante puedo abrir directamente por VI dicho sobre la actualización dot c. puedo abrir directamente este archivo de esta manera. Se puede ver que este es el código para el código del servidor. Haré que te expliques. Incluso si quieres ver a través del Bloc de notas, puedes ir a la carpeta y puedes ir tu programación socket que he creado y esto es una especie de vertical. Puedes abrirla directamente. O bien puedes abrir de esta manera. Esta es la misma olla o puedes referirte que dominan cada pie. Entonces, ¿algo que puedas ir? Yo creo que sí. ¿ Qué es el estado de ánimo, cómo se puede tener? Entonces esto es más claro en realidad, puedes ver aquí, así que déjame abrirlo en el propio Bloc de notas. Este documento en sí. En primer lugar solo, te explicaré cómo compilarlo para mis alumnos. Ver el programa, estos archivos de cabecera ya te he mencionado. Esto es en primer lugar, el código del servidor para los Lena's. Ya me han dicho la diferencia en los archivos de encabezado para el Linux y para el Windows y la sesión anterior. Si no lo has pasado, debes pasar por él para tener más cotizaciones individuales. Entonces estos son los archivos ocultos utilizados para el Linux, qué programación socket. Puedes hacer cruces más tarde. Entonces. Esta es una función principal. Entonces aquí mismo tendremos una función principal donde hemos escrito nuestro código. Por lo que te he dicho que esta función principal es un punto de entrada para empezar. Es un punto de entrada para iniciar una ejecución de tu programa. Entonces cada vez que tu programa sea ejecutado, eso viene muy rápido en esta función principal y lo que sea o estarás escribiendo aquí, se ejecutará línea por línea. Entonces veamos aquí lo que hemos hecho. Para que puedas ver aquí hay dos variables por el servidor de nombres y cliente, y he inicializado a 0. Su tipo de datos es entero. Esta es una diferencia en realidad post que está aquí. Se puede ver aquí, esto es Linux proveedores de datos específicos variables, servidor y cliente se utiliza aquí mismo. Entonces estos son el descriptor de socket. Por lo que te dije en esta presentación, luego llamamos a la función socket el descriptor de socket que los visitantes devolvieron. Su tipo de datos es diferente. Es tipo en digital en caso de Linux, pero en el caso de Windows, lo había visto como de sus tipos socket, capital SOC, socket QE2. Por lo que espero que caminen por esa sesión si quieres ser específico para Windows. Entonces esto es un buck. Estos son los descriptores. Entonces por esto en mí, mi este socket maneja solo descriptor. Operarás en el tubo del zócalo y llamarás a las diferentes funciones como comprar, escuchar, salir en el tablero. Estará utilizando este descriptor de socket de causa de adobe para el servidor. Este tipo de datos es diferente. Nuevamente, la segunda cosa aquí te dije que la dirección de la estructura del socket es diferente. Para que puedan ver aquí estamos escribiendo struct. Esto, este tipo de estructura. Estamos creando la variable de la misma. Eso es el servidor AÑADIR en este mil millones de EU. Esto también es específico de Linux. Esto es diferente si se compara con el de las ventanas. Ahora aquí, esta estructura, está llena de, está teniendo tantos miembros en ella. Por lo que te he dicho mis desmembros se usan en el porque lo que pasó a un costado de nuestro lado, les he dicho que tenemos dos. Si uno, el servidor y la comunicación del cliente a tener lugar. Tenemos que costar comprar la barra lateral. Si escribe el código para el servidor, para la barra lateral, debe enlazarse a una dirección IP particular y número de puerto. Una vez que vinculamos eso, eso significa, en ese caso, el cliente quiere conectarse al servidor. Cómo entiendo realmente lo que es lo lateral que hemos tenido es el servidor solo pensando con él, con la dirección IP donde está comprando también, así como el número de puerto. Por lo tanto, la razón que tenemos que, cada vez que estamos escribiendo el servidor o debes vincularlo a la dirección IP y a los números de puerto. Cliente íntimo quiere conectarse al servidor. Será conectando, se va a hundir con la misma dirección IP y número de puerto para cortar comunicarse con ella para que esto es n aquí lo que hacemos los instructores, la dirección del servidor, estamos llenando la estructura a la que dirección IP y el número de puerto donde se vinculará el servidor. Por lo tanto, esta función lo nombra como he explicado en detalle en sesión de audio también. Y he conseguido los métodos que se utilizan para las unidades y para las ventanas con discusión cantando con un puerto yo también, ya han pasado por la sesión. Ahora. Se puede ver que he escrito esto EN ADD o cualquier guión bajo y te lo has explicado lo mismo en realidad si está prohibido para Windows también, ¿qué hace? Significa que es vinculante a todas las interfaces de red que están presentes en esa máquina host donde se está ejecutando el servidor. Por lo tanto, eso significa que si estás conectado al terreno, tendrá diferente dirección IP. Entonces esa es una interfaz de red. Si está conectado a Wi-Fi, tendrá una dirección IP diferente y esa es diferentes interfaces de red. Así que tu barra lateral se unirá a cualquiera de las extrañas todas las interfaces de red, sea cual sea lo que uses en tu máquina, quién sabiduría en esta máquina donde estás ejecutando nuestro servidor. Entonces significa que para que estamos dando esta variable, estamos asignando esto. Y luego agregamos escribiendo los números del puerto. Todos los tiempos luchan contra este número de puerto. Por lo que puedes usar todos los números que son mayores que 102465 por tres pi porque aún 1024 ya está ocupado. Entonces si usas algún número de puerto mayor a 1024, así que lo que sea que estés usando el número de puerto para la barra lateral donde se vinculará. Para la mentalidad del trombo, hay que conectarse al mismo número de puerto. Y esta es una familia de abordaje infantil familiar. Entonces tu aire en ella. Entonces como estamos usando IPv4, por defecto, por defecto, si subrayé ion y esta es la función bind. Estamos utilizando. Esto, estamos analizando este lado del disco del descriptor de la cuenca del ojo. Y luego estamos pasando esta estructura que tenemos fracaso. Hay que construir esta estructura aquí. Estamos pasando tu TO typecasting a este tipo y actualizamos esto. Entonces estamos mencionando el tamaño de esta estructura. Entonces estamos llamando a la función de escucha. Por lo que podemos ver las mismas funciones están ahí para el Linux también solo escribe diferencias que está regresando en tipo socket handle menu. Nuevamente, estará escuchando en el paso este mango socket aquí en el primer argumento. En el segundo, cuántos números desea en la cola de espera para las solicitudes de conexión para diferentes líneas. Entonces aquí, desde 0, no quiero que ninguna otra conexión de cliente esté en la cola, así que he escrito 0. Puedes modificar tu código aparte dependiendo del requisito de poesía humana, y la acción del cliente para estar en el tubo. El actual se ejecuta. Vuelves a dar, dale ese número. Escucharás. Escuchar significa que estará escuchando este socket. Entonces aquí estamos imprimiendo el mensaje desde el lado a lado que está escuchando las conexiones entrantes. 13. Socket de la sesión de Socket de la ProgramExecution Serverel: Estoy declarando una variable. Soy, esto es n tipo de cadena porque es una matriz de caracteres. Aquí en la función de salida estoy llamando a la función de salida. Por lo que una vez que el sitio de un bollos declinó, enviar una solicitud al servidor. Lo aceptará y significó que aceptó. Entonces lo que sea que se publique, estaremos pasando el mismo mango de zócalo que obtuvimos de este zócalo. Y la estructura aquí, esto es aquí estamos inicializando como nulo y nulo. Aquí volverá aplicando descriptivo. Aquí, esto será diferente al de la derecha. Como también te mencioné, el mango de socket que se devuelve de la función socket. Se utiliza para que se dedique aceptar la conexión desde el lado del cliente. En tanto que este manejador de socket, que se devuelve de excepto que se dedicará a operaciones de lectura y escritura desde la red, el cliente. Por lo que ambos serán diferentes. Un uso para el propósito diferente y también son diferentes. Entonces este descriptor socket, que obtenemos, estará relacionado, tal vez teniendo los datos del cliente. Entonces incluso si puedes usar manera independiente, estás aquí y yo estaré leyendo. Entonces cliente está utilizando el mismo tipo de tablero en el que hemos visto desde las ventanas. Cliente está enviando algún mensaje, di hola. Y entonces este es el conjunto de impar. Será spin que acepte la conexión de las líneas del Dr., y estará leyendo los ensayos de lo que el cliente le había enviado. Entonces aquí estamos llamando a la función. Aquí estamos utilizando la función de lectura. Si el cliente descriptivo y este buffer. Aquí ya hemos declarado esta variable y cualquier sentido establecido del cliente se recogerá en este buffer, y estos son los tamaños que estás mencionando. Entonces he impreso esta hebilla. Ese es el mensaje que declinó, descendiendo. Entonces mm dijo, pero al hacerlo 00 esta hebilla. Ahora entonces estoy cerrando cerrando el socket que está ahí para el cliente, y luego el cliente desconectado. Por lo que entiendes lo que otorgamos excepto función, lo que devuelve será pesado relacionado con socket de backplane. Después del uso, lo estoy desconectando. Esto es lo que estamos haciendo. Entonces en todo lo más todas las cosas son similares. ¿ Esa máquina Prado Ventanas que hemos visto? Este es el código para el lado del servidor. Ahora. Lo siento. Oh lo siento. Este es este es un viejo prejuicio por la borda. Déjame abrir su dominante. Sí. Este es el código, espero por lo que estén al tanto de estos comandos, lo que significa que si quieres abrir a través de la goma encendido desde, puedes usar este editor VIM, y puedes abrir el archivo. Entonces vienen estos lineares. Asumo que podría estar al tanto de si está escribiendo el programa en Linux. Y todos los métodos que te he explicado cuáles son específicos para los servidores, así que lo compilaremos, pero veamos cómo compilar este código. Tenemos que usar este GCC, así que no, no he instalado nada en esta máquina Linux. Por lo que realmente este GCC, Es una herramienta compiladora básica para compilar el programa C, están directamente disponibles siempre que se instale. Siempre que tengas máquina Linux, tendrás este GCC básico, agradable el aire para que puedas compilar el código. Gcc, puedes compilar el código C. No escribí todo, solo escribí archivo gcc, que te he mostrado cuál es el código del servidor, cómo compilarlo en el comando desde GCC y luego este nombre del archivo y tobillo. Cuando lo hago ls, se puede ver que creó un punto fuera que esto es mío. Después de compilar el código que había recibido. Ahora para ejecutarlo, simplemente no correré. Ahora déjame mostrarte cuál es el código del cliente. Ahora también una cosa que te he explicado siempre que tengas que hacer la programación socket entre servidor y cliente, ¿cómo has hecho qué? La máquina Windows. Si usas videos, el IDE de madera, pensé que no lo harías en este IDE, ID de bloque de madera, ya sabes, no puedes crear 22 mazos, un proyecto, y una línea de productos. Y no puedes hacer la comunicación entre ellos si quieres hacer en la misma máquina host, si quieres hacer esta comunicación entre servidor y cliente en la misma máquina host, entonces esa es la misma máquina. Entonces hay que abrir la coincidencia del ID de woodblock en caso de Windows, lo he hecho, te he mostrado que es hacia arriba apertura a instancia, incómodo ID de bloque, porque por defecto no permite y lo hemos creado, lo abrimos a instancia de identificación de woodblock. Una instancia hemos creado un proyecto, en cuarteado o acera, y en otra instancia de bloque de código nos creamos en ese código de modelo de objeto de fila. Y después hemos hecho la obligación de socket. Ahora aquí de nuevo, lo haré, te estaré mostrando esas comunicaciones cliente servidor socket en la misma máquina de Lena. Cómo estoy usando este GCC, estoy usando este dominante para compilar mi código para ejecutarlo. Entonces, por lo tanto, no es necesario hacer ninguna configuración. Acaba de abrir otra terminal. Este es uno dominante, en el que estará aprendiendo el código del servidor, compilando el código para el servidor y ejecutándolo. Y otro dominante vamos a estar corriendo guardia. Una vez que compilemos el código del cliente, estarás corriendo a otra terminal. Por lo que serás demasiado corto o abierto a diferentes, diferentes comunistas en donde estarás ejecutando un servidor fue siempre debes ejecutar el servidor. Entonces de lado debe ser siempre correr falso porque ese es el principal Damon. Diferentes, diferentes clientes. Para que eso pueda conectarse a ella. Si no ejecutas solucionador, ejecutas nodo cliente, no es posible, no deberías, eso no funcionará. Entonces triste ¿qué debería correr primero? Porque cliente que se conecta al servidor, entonces necesitaremos que una comunicación se pare para ejecutar una especie de que no planeé. Tendremos abierto en nominal. Te mostraré tu déjame investigar. Sí. Estarás ejecutando esto dentro de nuestro código en otro terminal I loop. Estaremos viendo publicaciones, el puerto cliente, y luego estaremos compilando y luego estarías ejecutando el código cliente. Pero una vez que el código del servidor, solo entienda un terminal estará ejecutando Server Core y otro dominante, se haría código inclinado. Déjame abrir otra dominante. Dominante. Tienes esa opción. Ahora se puede ver otra terminal es, esta es otra terminal está ahí. Estaré pasando por el código. Hace el código del cliente. Ahora, veamos el código del cliente. Ya hemos visto el código del servidor. Nuevamente, el código del cliente es muy corto en realidad. Puedes ver aquí, hace esto coincide con ese código de línea, esto, déjame maximizarlo. Este es sólo el código del cliente. Entonces, en primer lugar, los archivos de cabecera que tienes que escribir para la deuda serán diferentes a los de las ventanas. Estos son los archivos de cabecera para el socket para la máquina Linux. Por otra parte, la función principal que es un punto de entrada. Ahora en caso de que te lo dijera tenemos que simplemente crear un socket y tenemos que llamar a la función connect. Y luego no escribimos operación. Esa es sólo la diferencia. Esa es sólo la tabla pequeña para el cliente en comparación con la del servo. Nuevamente, estaremos escribiendo un sitio de Salk. Este será el mango del socket, que es de tipo entero que es diferente al de las ventanas. Aquí, de nuevo, dirección socket que también es defensiva y tipo de datos. Ahora estamos llamando a la función socket. Entonces aquí, recuerda siempre siempre que tengamos que hacer la comunicación entre servidor y cliente debe tener el mismo segundo argumento que se pasa en el socket es el tipo socket. Deberías tener el mismo tipo de toma. Se puede transmitir tipo sobre él puede ser pañales de corriente tipo datagram. Utilizando el protocolo de comunicación TCP, es confiable, mientras que el datagram está utilizando UDP, lo cual no es relevante. Entonces la mayoría de las veces usa TCP sobre mí. Por lo que ambos del lado de servicio también generalmente cuando se crea un socket, este tipo debe ser del tipo stream. Y si estás usando aquí el arroyo. Por lo que ambos deben tener el mismo tipo. Cualquiera de los dos al extremo son cualquiera de ellos ambos deben tener tipo de agrama para poder venir en orden comunicaciones a dúctil, lo que significa asentamiento en plantas. Entonces estamos llamando a la función socket. Primero argumento, estamos pasando familia de direcciones de Internet, luego dipolo de la corriente socket y Lindsey Nicole, el protocolo de comunicación. Entonces eso devolverá un mango al zócalo de línea oscura. Tienes, estás creando el producto socket. Hindsight. Lo hará. He editado este nombre de variable. Así que he escrito el nombre una especie de sal porque va a estar conectando al servidor. Hay una razón pero este socket que estamos creando para ellos. Cliente. Nuevamente, destrucción, que es ASÍ te dije la estructura que tienes que llenar. En primer lugar, en el lado del cliente estará escribiendo la dirección IP del servidor, que es igual. Esta dirección IP debe ser la misma a la que el servidor está vinculado, y el número de puerto también debe estar viendo por qué he dado $127 No.1 y te explico. esto se le llama como bucle back address porque como somos, somos, queremos hacer la comunicación en el mismo sistema. En este mismo sistema mi servidor se está ejecutando y mi cliente también me haré de comer. Yo lo soy. Por lo tanto, dado que es el mismo eco del sistema este año, significa que reporta a la dirección IP local, que está muerta en la máquina host. En esta dirección IP local lochia, el servidor solo se está ejecutando también. Por lo tanto, simplemente estamos mencionando 127 dólares punto uno. Eso significa informar a la dirección local de esta máquina host porque sabemos que nuestro servidor se está ejecutando en esta máquina host local. Eso significa que se está hundiendo a la misma dirección IP donde se está ejecutando el servidor. Y el número del puerto es el motivo por el que cinco veces, cuatro veces cinco. Porque aquí tenemos comprando el servidor a este número de puerto. Si tuvieras carpetas, compré dos números de teléfono diferentes, digamos 9994 veces nueve, entonces habrías dado aquí cuatro veces nueve. Sea cual sea el número de puerto al que usted, su servidor se vincula, el lado del cliente debe conectarse al mismo número de puerto. Esto es todo lo que llenamos aquí en esta estructura. Eso es esto. Y luego cuando llamemos a la función connect, pasaremos el primer argumento es el mango del socket, que devolvemos de este valor llamando a la función socket y esta estructura que hemos llenado la dirección IP y el número de puerto y luego el tamaño. Y luego escribimos en el lado cliente conectado al servidor, pues después de que se haga la conexión, entonces este mensaje se imprimirá desde el lado del cliente, diciendo conectado a este cliente está conectado al solucionador. Entonces tenemos, ya que en nuestro programa estamos enviando el mensaje. Estamos escribiendo el mensaje desde el lado del cliente y lo estaremos leyendo y así el sitio del servidor. Qué mensaje estamos enviando, estamos enviando un sencillo hola. Aquí. Estamos inicializando esta cadena que es una matriz de caracteres con este hola. Y déjame llamar a la función correcta. El primer argumento se maneja de los sedimentos fuera del mango socket y luego segundo argumento como buffer, que estamos inicializando a este valor. Queremos que este valor se pase al mensaje del servidor para que se pase a la longitud plateada de esto. Entonces, por lo tanto, estamos llamando a la función correcta por la función correcta. Mencionando en este socket tenemos que enviar este buffer de mensajes que es hola al servidor desde el lado del cliente. Este es un lado del cliente. Entonces estamos imprimiendo el mensaje. Ese mensaje se envía para llamar a este pinza, mal gastando el mensaje en el sitio cliente. Pero esta columna vertebral, y luego estamos cerrando este mango y luego zócalo cerrado. Entonces este es el código para el sitio cliente. Para que puedas ver este ya hecho, sencillo y z Ahora tengo abierto otra terminal. Vamos a la sustancia. Tenemos que ejecutar siempre un código de servidor más rápido así que lo estaremos ejecutando. Por lo que voy a abrir. He ejecutado código de servidor de pared post-hoc. Cómo ejecutarlo simplemente mencionando por qué mencioné esta barra de puntos, porque esto significa que estoy en este directorio actual en la carpeta, y ejecutaré esto. A dot out, dot out está presente en esta carpeta misma. Entonces cuando me ejecute, obtendré el lado del servidor, este mensaje que está escuchando para la conexión entrante. Ahora el servidor está escuchando. Ahora tenemos que ejecutar nuestro código de cliente un metro encendido. Una vez ejecutamos el código, entonces el cliente debe conectarse a este cliente de servicio desconectado. Entonces cliente debe enviar un mensaje al servidor y estaremos leyendo en el lado del servidor verá un mensaje de bienvenida que se mostrará $0.09 en el terminal cliente. Y se puede ver en el lado a lado si ese mensaje también se lee e imprime en el lado del servidor en servicio yo ahora podemos ver en la escucha para la conexión entrante, vamos a ejecutar el cliente código también. Entonces déjame abrir el acorde dominante. Entonces post compilaré este código de cliente simplemente por esta función, DCC y el nombre del archivo. Cuando corres, verás solo un punto fuera que es la salida producida después de compilarla. Ahora debemos ejecutarlo. Por lo que aquí puedes ver quieres el mensaje del lado cliente que conectó al mensaje de varios proveedores enviado con búfers viene cuando el cliente está enviando algún mensaje al servidor, entonces llega este mensaje. Así que abramos el servicio. No dejé ver si el mensaje ha llegado ahí y la información ha sido actualizada. Sí, se puede ver después esta escucha para la conexión entrante, este modo podemos jugar de forma segura en la línea del sitio del servidor conectado. cliente dice que buffer es hola. Desde el lado del cliente, lo que quiero decir acaba de preguntarte eres puedes imprimir línea dice pero, pero es hola. Y luego nos hemos desconectado la función de eso también de aquí. Esto es lo que estamos haciendo. Se puede ver cómo se lleva a cabo esta comunicación. Entonces esto es sólo estoy enviando el mensaje del cliente y estoy leyendo el mensaje, estoy escribiendo el mensaje del cliente y lo estoy leyendo en el lado del servidor. Para que puedas escribir y leer en el servidor así como en el cliente. Puedes tener cualquier comunicación bidireccional en alelo. Entonces no solo te explicas la sintaxis que tengo he escrito desde el lado del cliente y he leído en el lado del servidor. Para que puedas hacer Weiss era yo y puedes hacer tanto escribir como leer y hacer el cheque. El chat de servidor a cliente. Yo también lo soy. Entonces esto es lo que hemos visto, cómo esta obligación socket explica cómo se envía el mensaje y qué es no lo hace toda la función, estructura diferente, diferente diferencia de cabecera móvil . Permítanme pasar a la segunda. Permítanme, permítanme volver a mi presentación se hará viendo todas estas cosas que hay ahí. Tenemos que estamos hechos con el servidor, programación de socket cliente. Hemos hecho en lenguaje C lo que el Linux y también lo hemos ejecutado. Ya terminé por ahora. Gracias. Muchas gracias. 14. Socket Session8 Serverel de la ejecución: Bienvenido a esta nueva sesión cuatro, etcétera, programación de socket cliente y ver sangre dividir nueces trimestrales con su ejecución. Por lo que antes de esta sesión, hemos pasado por la sesión para servidor, programación de socket de cliente en lenguaje C o Linux con su ejecución. Por lo que hemos escrito el código C para la línea de acera socket, y lo hemos hecho es comunicación mientras que el sistema Linux, hemos visto cómo cliente y servidor se comunican entre sí. Ahora, estaremos buceando C plus plus código y el sistema operativo Linux, y estaremos realizando la programación de socket para cibercrimen no es mucha diferencia On need. El compilador será diferente. Por lo que hemos visto, hemos utilizado en el Linux para compilar el programa C. Has usado GCC sin embargo estaremos usando en GPS porque esa es sólo la diferencia. Y algunas funciones que vamos a estar llamando cuarto de entrada y salida serán diferentes mama todas las funciones relacionadas con el zócalo serán las mismas. Eso no es mucha diferencia. Por lo que podemos pasar rápidamente por la sesión como es casi, casi similar al conjunto de pautas que he estado programando en C en Linux. Justo arriba de la puerta de Jens. Tres funciones, las funciones de llamada serán diferentes a medida que se utiliza, Es fluido a la entrada en la consola. Veamos. Solo para mostrarte, como si pudieras hacer la política de codificación, puedes hacer codificación para cplusplus solo el compilador dos estará cambiando. Pasemos muy rápidamente por la sesión en detalle. Si quieres pasar por la sesión anterior la cual había explicado en detalle el mismo programa y ver lo que el Linux. Así que voy aquí a feo porque son simplemente las cosas repetitivas en la diferencia mínima, diferencia biológica, y algunas funciones de llamada diferentes. Nuevamente, lo mismo aquí para los métodos de socket de servidor para lineal, ya que estaremos realizando esto, que estas funciones separadas no es crear el socket, vincularlo a todas las cosas si comparar con la máquina Windows será similar, pero una función no está presente. Para el Linux. Es decir, aunque arranque WAC y cuando nos desconectamos del socket, sintaxis sería la diferencia en comparación con las ventanas para el CC plus plus. Mismas funcionalidades están ahí no hay diferencia en Texas también visto. Eso no es diferente y la programación de socket usando C y C plus plus en ninguna herramienta del compilador y algunas funciones de llamada relacionadas con entrada y salida son diferentes. Estaremos compilando el código usando g plus plus aquí en caso de escribir, cuando haya terminado de escribir el código y cplusplus. Y entonces lo estará ejecutando. Ahora cerca de los métodos de socket cliente. Lo mismo que necesito hacer como startup no está presente. Esa sintaxis es diferente a tener la misma para C y C plus plus cambiará. Lo mismo con el Dr cubierto en la sesión anterior. Eso es para el específico de Linux, estos son los métodos y datos estructurados que no es una función versus Startup utilizada en caso de Linux, como te dije ahora. Entonces lo siguiente, perder funciones diferentes IW o perderlas socket. Estamos llamando a la función que en comparación con las ventanas que no hicieron Macondo toma de pegamento en NOSOTROS límite enfermo. Entonces eso es diferente en caso de que si compares con el Linux, te veré. Es similar, es igual. Y se escribe un descriptor de socket dipolo, es conducido por llamar a la función socket. Entonces esta es una diferencia en específico a Venus porque para Windows, el descriptor de socket y luego devuelve grabaciones, la función socket será diferente en comparación con Linux. Hemos visto que en la sesión anterior en la programación c para en el sistema Linux que llamamos a la función socket el socket. Y luego conseguimos, obtener el tipo de manejador de socket es de tipo entero en caso de Linux, pero en caso de Windows, lo hemos visto como otros tipos ofrecidos capital SOC Katie, eso es una diferencia. Pero para CC plus, además de las mismas funcionalidades está muerta. No hay cambio en esto. Y luego estructura desorganizada o rayada es diferente. Nuevamente, específico a la estructura de direcciones Linux estará utilizando para el socket leído y realmente revelador diabetes. Y el número de puerto que dipolo ese socket y reestructurado es diferente en caso de Venus en comparación con Windows. También una mascota relacionada funciona como decir para CC plus plus. Entonces desde esta edición estructurada como un tipo diferente de estructura decidida, se usa indiferencia o disfunción. Y así su sitio web pórtico llamar accidentalmente a la función de aceptar. Utilizaremos esta estructura de direcciones. Por lo que no tenía el tipo diferente en comparación con las ventanas de su médico encendidas. Entonces el cliente al que estamos llamando connect. Así que de nuevo, incline, me van a llamar Función Connect inclinada. Dijeron que DO estructurado se utiliza en el momento de la deuda es diferente a la de las ventanas. Nuevamente, el archivo de cabecera, si se habla en términos de síntesis específicamente no tan muerto. Polinicas fue la programación socket es diferente en comparación con la de los archivos de cabecera. Selecciones de ventanas. Sólo estoy corriendo por esta sesión porque es una sesión liberadora. Solo quiero mostrarte si compila cplusplus código y Linux y qué combinador sintonizadores usaron. Y algún encabezado, ya que llamaríamos funciones a entrada y visualización, esa llamada relacionada será diferente. Entonces Sócrates. Todas las funciones están diciendo que ha vuelto a eso. Si comparas C y C más plus. Entonces empecemos a escribir el código. Pasemos por esta charla. programación de socket cplusplus glándula cetera Puede que no existaprogramación de socket cplusplus glándula cetera con ejecución de identidades. Ir al sistema operativo Linux. Y entonces estaré mostrando qué todas las cosas vamos a utilizar. Bienvenido vital para escribir ese código en C más más n2. Combínalo. Pasando a la siguiente. Así que estoy teniendo o cuando a Linux aquí. Segundo, permítanme dar el primero. Aquí. Estaré abriendo el dominante. Ya que seremos, nos convertiremos escribiendo el código en el dominante. sabes, ya te he dicho en la sesión anterior que en la otra tendencia programación o comunicación socket en Linux, ya te he dicho que estamos teniendo el provisión de utilizar determinantes. Entonces si estás teniendo esta configuración de Linux, te mostraré y teniendo, ya sabes, los comandos básicos que se utilizan, o el Linux que es muy importante. Por lo que ya hemos cubierto comandos WC y cortos en la sesión anterior. Estaremos escribiendo el código dominante. Entonces déjame abrir eso. Se está lanzando un minuto. De alta calidad creó la carpeta sala de juntas, C plus plus. Casi parece sólo querer la defensa funcionalmente en. Dice maravilloso. Y ya se puede ver el archivo que he creado, ya he escrito el código para evitar el tiempo que se tarda en escribir cada instrucción. Por lo que ya he explicado cada instrucción y sesión anterior que no había escrito el código en C y B. A continuación dice pasar por él si quieres ir en profundidad. Entonces sí, solo para entender qué herramienta se usa para compilar el código C plus plus y qué diferencias mínimas no están en la programación de socket, sino cuando llamas a la consola para leer y escribe en la consola, solo esa función será diferente, mientras que las funciones socket, como se ve aquí, este archivo que estás teniendo en C plus plus language estará teniendo la extensión dot cpp que en el Vedas comprometidos resolver el lenguaje C al escribir el código C, habíamos visto extensión no se veía, pero en caso del asiento, Let's best extension es dot CPP. Podrías estar al tanto de esto si has hecho la codificación parte C plus plus, vamos a esto. Ahora. Si ves eso sin embargo, si comparas con el lenguaje C, si compites menos físico buen lenguaje C, todas las cosas son iguales. Solo una diferencia de este archivo de encabezado que he incluido en C plus plus porque podría estar conociendo esta corriente I O. Este es el encabezado en específico comprado mostrando e ingresando en la consola. Entonces como hemos visto, que se involucra en el lenguaje C, usamos stdio.h. aquí. Simplemente puedes quitar este stdio.h que no se requiere. Así que sólo déjame que puedas entrar aquí. Esto no es necesario. Porque aquí vas a estar llamando a las funciones que se muestran en la consola. Es, estás llamando al código de función. Por lo que podría estar sabiendo que al escribir el código y cplusplus muestra cualquier mensaje en la consola, llamamos a la función cout que se adquiere dando salida al mensaje en la consola. Entonces esta unidad de mensaje de salida en la consola. Y esto es, he usado el namespace std. Se puede ver que he agregado la escuela usando namespace std porque esta biblioteca de plantillas estándar std es que esta función está definida. Por lo tanto, cuando se tienen dos C más plus, que mencionar en este espacio de nombres sobre estas funciones están ahí. Entonces tenemos que, en primer lugar, mencioné este espacio de nombres y luego podemos ver en, si no mencionas este espacio de nombres y usando namespace std, lo escribirá aquí. Entonces puedes simplemente escribirlo en cuanto a la escuela como una solución. Entonces estas funciones, y asumo que ahora estás en el código C plus plus. Si ingresas al cplusplus coordina la luz que es función básica para mostrarla. Creo que este año y dar la entrada en la consola que usamos C en. Entonces en nuestro caso, no damos ninguna entrada en el DevCloud. No estoy llamando a la función a entrada en el que me estoy llamando. Mira, traeré su mensaje en la consola para que solo haya diferencia aquí es que las funciones relacionadas con sulfato son iguales. Entonces si ves que se trata de una coordinación cirrótica, tú Ejecutas tu programa. La ejecución se detuvo de esta función principal. Entonces sea cual sea la línea de instrucción, por lo que estaremos buceando en esta función principal. Se ejecutará nueve por nueve. Esta es la misma sesión repetitiva, sólo para mencionarte la diferencia en C y C plus, plus. Yo soy, tengo estoy dando esta sesión muy rápido. El calabacín aquí. Como te dije, estarías llamando a la función ordenada que se utiliza para crear el socket y varios cancha que es familia de entrada a Internet. Este es el tipo de zócalo por el que se transmite. Por lo que hemos comprado comunicación de servidor y cliente. Se crea el zócalo y ambos lados. Por lo que el tipo debe ser el mismo si quieres tener la comunicación entre servidor y cliente es tener stream tipo nueve puntos o deberías tener esta guía génica. Stream está en un tipo de responsabilidad del socket aquí. Y el tercero es un protocolo de comunicación valor predeterminado es 0. Devuelve un descriptor que es tipo in vivo. Entonces esto se ve en caso de secuencia cn cada región tiempo que se utiliza para la programación de socket en lenguaje C y así como enfermedad, pero no hay diferencias que en mí, este color azul pantalla y entrada desde la consola que solo funciones que estaremos llamando es diferente en caso de que voy a C y C plus plus en este archivo de encabezado tenemos que incluir. Y entonces esta es la estructura de direcciones en donde la carretera lateral, debemos vincularla a dirección IP y número de puerto para que cuando el cliente quiera conectarse a ella, pueda sincronizar la misma IP dirección y número de puerto. Por lo que esta estructura hemos llenado el lado del servidor con este valor. Y estos números de la Junta son desvalorizados. Eso significa que es, puede enlazar a en las interfaces de red. Entonces te he explicado que te sumerjas en una sección anterior. Y entonces los números deportivos, cualquiera que sea el número que den deben ser mayores 10 a cuatro porque aún 1024 está ocupado. Y se puede utilizar mayor que 102465535. Entonces está llamando a la función de enlace para vincular una especie de socket a la dirección IP y números de puerto solo al detectar datos de arranque periodo de dos años aquí. Entonces estamos escuchando esto preferiría estar escuchando en ese software. Este es el número de número que va a delinear la conexión sería innovar. Entonces llamar a la función de salida desde el conjunto de nuestro sitio aceptará cualquier mensaje de una conexión desde, digamos, acepte cualquier conexión de línea desde el lado de línea, esa fobia llamando a la función de salida declina y la conexión entonces el servidor la aceptará. Y luego filtró versión y otro descriptor de fútbol que también es de tipo int. Este descriptor de socket, si no escribiste vocal todo paciente y el descriptor de socket, que no regresa es te estás comprometiendo con la conexión de línea oscura. Esto es lo que pasa. Y luego eso dicho evitar lo que estamos haciendo. Estamos enviando el mensaje desde el cliente. Y así dije que lo leeremos. Este mensaje será recogido. Estamos llamando a la función de lectura. Este mensaje se conectará a pequeños fondos simplemente operando, alquilando. Aquí se puede ver la diferencia no es solo lo que están imprimiendo. Entonces aquí estamos llamando a la función CL, que es C plus, más C plus plus lenguaje. Y sin embargo, mostrando en los consejeros C out y esta dentina doble cita cualquier mensaje que des, no necesitas dar el especificador de formato y C plus. Y luego hay que ceder en esta salida de índice, luego tampón, y luego terminar con enrojecimiento. Quieres que aparezca a este mensaje en la nueva línea. Por lo que esto se volverá entrante en el nuevo caso United en el CV da slash n Pero por si voy a ver bendecir, bendecirme , dar END l y l que está apareciendo haciendo mensaje de nueva línea de Windows para venir en la nueva línea. Y puedes de nuevo, así que lo que puedas ver aquí, dondequiera que queramos mostrar Animales ocho en el cabildo, estamos llamando a la deuda C0, C0, C0 en estos diferentes en comparación con el lenguaje C, hay dos líneas de código extra que es hash incluyen iostream. Tienes que incluir este archivo de encabezado y hash y luego usar namespace std, porque en STD en mí el CEO está muerto. Eso es todo. Y entonces te lo dije, ya que vamos a estar actuando, dijo Dejar que la comunicación cliente. C plus plus en el mismo, hecho tuercas en la misma máquina. En ese caso. De ustedes estarán abriendo los minutos totales en una terminal y se obtiene esto como una terminal dominante y una, estaremos ejecutando el código para eventos o sesgo de descuento del código se compila y ejecutado en una dominante en otra terminal. Una vez compilado el código cliente, lo ejecutaremos. Y otro dominante, ambos del agua total sobre ellos deben estar funcionando en diferentes terminales y luego se estarán comunicando entre sí. Vamos a compilar este código. Por lo que aquí, esto es diferente en C plus plus, estaremos usando la herramienta de compilador g plus plus. En caso del lenguaje C, cuando cavamos código C, utilizamos GCC. Pero bienvenido encontrando el código C plus plus. No podemos compilar el GCC porque herramienta compiladora GCC se utiliza para combinar intranquilo, nazi, biendad. C plus plus es un complemento extra en escena. Sólo g plus plus. Esa es una herramienta compiladora. Se puede compilar el código C así como el código C plus plus porque es una versión actualizable, una docena actualizada, la del lenguaje C. Entonces el lenguaje C así como el lenguaje C Plus Plus pueden convertirse en archivo por g plus más Y2 afuera no es mandona, pero es decir, no puedes combinar tu código C plus plus usando este GCC. Tienes que usar g plus plus. Entonces ya que C plus plus soporta, soporta el lenguaje C solo, por lo que por G que estamos usando D plus plus, puedes combinar código C y C plus plus, pero viceversa no es posible. Es decir, no puedes usar GCC para combinar el código C plus plus. Por lo tanto estaremos usando g plus plus, y luego seremos bilingües o usando al alumno. Así que de nuevo, va a crear el archivo y fuera que tenía antes de ejecutarlo. Veamos también el código de esquema que ha abierto un nuevo dominante o los accidentes que totalmente masacrado corren en diferente dominante. Ahora. Ahora, desde que te dije sin embargo, código C plus plus, que estaremos buceando realmente tenemos la extensión para pilotar heredar la extensión hacia CPP, han hecho los cambios para llamar a la entrada y salida función. Para que puedan ver aquí, nuevo, estamos teniendo, este es un código muy corto en un minuto. Observarás que el código del cliente es muy pequeño en comparación con el de la salva contra el socket funciona como decir más acuoso más cuatro lenguaje C en medios llamando a la entrada y estás llamar a la función desordenada para mostrar el mensaje en la pata de la consola solo es diferente. Por lo tanto, tenemos que incluir este archivo de encabezado, iostream. Tienes que escribir este espacio de nombres std. Por lo que las mismas cosas embrujadas de descanso rosa están viendo relacionadas con el zócalo. Por lo que está llamando a la función socket en cliente. Y estamos diciendo es que estamos mencionando aquí, así que la misma sintaxis, estamos llenando con la dirección IP. Así que te dije $127 No.1 no es dirección de Lubeck que desde que me agregamos me pregunto que la comunicación suceda en la misma máquina. Profundidad o el servidor y cliente se está ejecutando en la misma máquina. Por lo tanto, esto significa una dirección de Lubeck significa, esto significa que esta placa a la dirección IP local, host local. Ips ciertamente tuvo diabetes en el host local porque sabemos que en el servidor host local también se está ejecutando, por lo que revertirá la dirección IP del host local. Y luego estamos mencionando el número de puerto en el lado del servidor, sea cual sea el número que demos que no cumplan con el lado del cliente, debe estar hundiéndose al mismo número de placa para poder conectarse a la celda. Y también la dirección IP debe ser la misma. Después vamos en función de desconexión. V bar es esta estructura aquí. Y luego estamos escribiendo el mensaje desde el sitio cliente. Mismo mensaje que he escrito. Por lo que se puede ver la V, V que estoy mostrando en el cabildo es diferente ya que estamos haciendo esta codificación en C plus plus. Por lo que estoy usando al CEO que exhibe en la consola y N dólares solía tenerles mensaje en la nueva noche. Nuevamente. Vea cómo se utiliza aquí para querer imprimir el mensaje, sea cual sea lo que el cliente esté enviando que acabamos terminando en la consola. Estas diferencias en ninguno de los descansos en las funciones relacionadas con socket son las mismas. Para que puedas entender si conoces el mismo idioma, puedes iniciar C más nada diferencia son que en las funciones relacionadas con socket en pantalla nuclear el mensaje en la consola, el C plus plus porque trimestres ahí ese código. Pero cagando en la consola. Busquemos aquí el tablero. Entonces aquí están la herramienta de combinación que estoy usando GPS porque como te dije, no podemos usar GCC para compilar el código para el C plus plus porque gcc, porque C no soporta C plus plus, pero z más el soporte C porque no lo hizo, Es una versión incrustada del mar. Por lo tanto, puedes usar el GPS mejor para compilar el código C así como el código CPP C plus plus. Pero no se puede usar GCC para compilar el C más cuatro. Puedes usar GCC en necesidad de combinar el código C. Espero por lo que entendiste la diferencia. Entonces compile el código aquí. Está generando un punto fuera falso. Deberíamos ejecutar el servidor, entonces deberíamos ejecutar esa línea. ¿ Y cuál es su proceso demonio? Debe lanzarse primero en excepto la conexión del cliente. Así que ahora ejecutemos el código para el servidor. Se puede ver en el lado del servidor y estamos recibiendo este mensaje que está escuchando para las conexiones entrantes, ¿ algo así que está escuchando? Ahora ejecutemos el código cliente que está muerto en el otro dominante. Ahora, simplemente estamos enviando mensaje, estamos grabando un mensaje de función correcto en el socket desde el cliente, digamos que se actualizará la etapa presenciada DOM del lado del servidor. Dios conectó y sea cual sea el mensaje el plazo que desciende a la encuesta Derby para acelerar al sodio. Entonces mutua usando el zócalo. Vamos Dando por AD y inductor de salida subrayado sitio. Puedes ver aquí conectado al sitio de la línea de carga de plata. Después de la función connect, estás emitiendo este mensaje usando CEO que es una diferencia y C plus. Y luego una vez que se envía el mensaje, los que escribo en el socket desde el lado del cliente, los obtenemos como declaraciones. Está adentro con mango inclinado tampón. Así que vayamos al lado del servidor y veamos si el mensaje ha sido recibido. Aquí se puede ver que en el plan de estudios, este es un servidor llamado socket varios código. Te irás este ductus mensaje después de escuchar para conexión entrante en el lado plateado, si los quieres con la edad que Glenn conectó, dice cliente, pero ¿qué es hola? Entonces este mensaje, eres algo bueno en la salida y luego cliente desconectado. Aquí tenía una cosa más. He inicializado. Si ves aquí, que aunque tenemos dos hacia atrás en realidad que estoy usando aquí en el lado del servidor, he inicializado a 0. Porque si no lo hago inicialmente, este 0 significa que se está inicializando en ellos. Y zumbido del Foucault, Brasil, puedes directamente, no necesitas escribir 0 cada 102 ordinal una región. Simplemente puedes escribir Connie racismo 0, eso significa en la ONU inicializando por defecto a 0. Por lo que esto es muy necesario porque una vez que la acera va a recibir el mensaje del cliente. En ese caso, ya que si no inicializa por dipolar a 0, entonces lo que tengan esos clientes, manda un mensaje en el celebrante que salga de un nuevo que se muestra en la consola, lo hará recibe ese mensaje, pero extra vitae, que cosa también obtendrá. Por lo tanto, tenemos que inicializar primero esta cadena, que es Eric carácter a 0. Y entonces tenemos a lo que sea que el cliente esté enviando al servidor cuando yo, eso va a no Buff otro y puede mostrarse en eso en la consola. No conseguirá la sede de la base de datos. Lo que obtienes para que cliente es decir sólo Hola, así que va a conseguir su césped. Esto es sí. Ahora ya hemos terminado con esta placa de programación socket. Decidir sobre aplicar ven vacaciones en plataforma Linux usando C plus. Así bebida caliente código C. Puedes pasar por la sesión anterior que he cubierto con detalle. Ya terminé por esta sesión. Gracias. Muchas gracias. 15. Socket Session9 de la comprensión: Hola, bienvenidos a esta nueva sección que está entendiendo que debe ser comunicación del cliente del servidor en ECP. Aquí, de nuevo, la comunicación socket que estaremos viendo entre el servidor HTTP y el cliente. Por el término HTTP, usted podría estar al tanto de lo que es esto? Http. Http significa Protocolo de transporte de hipertexto. Y siempre que estemos navegando por la red, siempre que queramos grabar alguna información de la red, estaremos escribiendo el enlace, estaremos visitando el sitio y siempre damos http o HTTPS. Por mazo, obtendremos el enlace de lanzamiento de la página que obtenemos de esta manera. El fin de semana informativo buscar. De esta manera, sea cual sea el enlace que estés pasando, estás dando en cualquier navegador. Puede ser el Mozilla, puede ser el novio, puede ser Internet Explorer. Todos estos son los tipos de navegador. Estos son el lado del cliente, del lado de la aplicación para que estemos dando cualquiera de la URL, esta URL, que será link Odyssey, que nosotros, le das, suponemos que está dando Google.com y eso es lo que sucederá. Quieres buscar la página en el Google.com. Entonces serás un enlace en, estarás escribiendo el enlace en el navegador, en el lado de la aplicación sitio subyacente. Y este enlace que pasamos nos será enviado al lado del servidor. Se trata de Apache, del lado del servidor Apache, y enviará los datos en respuesta a la solicitud, que es crestas dadas desde que era un lado. Por lo que entonces los datos se cargarán en el lado del navegador. Es así como se lleva a cabo esta comunicación. Tenemos en su mayoría ir y bucear el enlace, pero no sabemos cómo funciona en ayudar a gestionar esta comunicación se lleva a cabo simplemente fue ser un dato sumado que obtenemos. Supongamos que queremos buscar alguna imagen para incluso estar escribiendo el enlace en eso, en el, en el navegador. Ese puede ser el problema puede ser explorador de sopa genética. Entonces estaremos obteniendo los datos de la imagen. Entonces, ¿cómo van a obtener los datos de la imagen? Cómo sucede esto en realidad, solo estás escribiendo el enlace y estás enriqueciendo los datos sobre edad en tu página, cómo obtienes estos datos. Por lo que detrás, esta comunicación se lleva a cabo entre el servidor y el cliente y el servidor. Se lleva a cabo una mutación. Y esa es la comunicación cliente del servidor HTTP. Por lo que esto se lleva a cabo en el TCP. Es decir, hemos visto sesión TCP. Se trata de un protocolo confiable porque aquí se proporciona todo. Proporciona la corrección de errores. Es confiable porque todos los datos serán enviados. Algunos de los datos se pierden, entonces de nuevo, se transmitirán. También se puede notificar al conjunto de nosotros. Entonces así es como se lleva a cabo la comunicación confiable. También es de peso pesado. Por lo que hemos visto, hemos discutido sobre DCP. Por lo que aquí estaremos viendo cómo este HTTPD ser varias comunicaciones de clientes lleva a cabo en TCP. Por lo que no toma en UDP porque TCP es confiable y queremos que se lleve a cabo la comunicación , debe ser poco fiable. Por lo tanto, se llevará a cabo en GCP. Vamos a entender más. Vamos a ello para que usted esté comprendiendo en detalle de qué todo estamos discutiendo. En nuestras anteriores conferencias. Ya hemos visto, podrías estar al tanto de cómo se llevaría esta comunicación socket cliente servidor TCP cabo esta comunicación socket cliente servidor TCPporque ya he explicado qué métodos conocidos se utilizan. O servidor TCP, comunicación de socket cliente. Y también hemos visto que con código para el Windows y Linux, todos hemos ordenado en el programa en el ID de woodblock, esta comunicación de tiempo del servidor TCP, comunicación socket, y las ventanas. Y lo hemos ejecutado. Con la ayuda de este conocimiento, estaremos viendo cómo esta comunicación socket cliente servidor HTTP lleva a cabo esta comunicación socket cliente servidor HTTPen TCP. Por lo que esto será muy fácil para ti porque si has pasado por las sesiones anteriores, estarás en absoluto, casi todo el acorde VI usando en este socket comunicación de cada servidor HTTP offline pero con alguna poca modificación. Por lo que también lo estarás encontrando más interesante. Y comencemos los temas que estarán discutiendo la comprensión de la gente el diagrama del blog de un medicamento. Entonces estaremos viendo cómo el cliente HTTP envía la solicitud en forma de cabeza y la NBC, ¿Qué hace este encabezado en detalle? Entonces estaremos viendo cómo este servidor HTTP dará estos bonos a la solicitud de clientes HTTP en forma de encabezado y cuerpo. Empecemos con el tema para que comprendas más mejor. Ahora este es el diagrama para conjugación de esquema del servidor HTTP. Entonces aquí se puede ver esto es HTTP nueve, y este es el servidor HTTP. La solicitud se enviará desde el lado del cliente HTTP al sitio del servidor HTTP en términos de mensaje de solicitud HTTP. Y es típicamente la barra lateral que baila que recibe no lo hacen. Um, ingresa los datos del cliente. Producirá esto en él, luego le enviará la respuesta de datos al cliente HTTP. Tan ciegamente considerado como un navegador. El ejemplo que te dije que no eras ningún eslabón en el delta. El navegador puede ser aunque habitación, puede ser el infinito explotado, o se puede disparar falso. Navegadores tan diferentes, diferentes. Puede dar diferentes enlaces en los que el enlace está conteniendo la slash de dos puntos HTTP. Supongamos que tú y quieres dar el link WW, el moodboard, google.com, quieres dar facebook comprado estándar común, soy dot com cualquiera del link pero quieres que la multimedia esté relacionada enlace. Sea cual sea la información que desee un enlace a que le dará los diferentes enlaces. Ese vínculo en el que se pasa. Ese será el lado del cliente resultado. Entonces ese será el enlace. Esa información será enviada al sitio del servidor en lugar de en el sitio, responderá a ese enlace. Se va a buscar, constituirá los datos que debe estar enviando al cliente para que los, esos datos que era un sitio en, esos datos se cargarán y se consiga la página cargado en el lado de tu navegador. Entonces todos esos datos, se enviarán desde el servidor al cliente, que deberá cargarse en el lado del navegador. Comencemos este otro diagrama, opaco. Este es tu navegador web, como te dije, puede ser Chrome, puede ser despedido, falso. Sefardi, Internet Explorer, cualquier cosa, cualquiera del router, esta parte es el cliente y estás pasando la solicitud. Es decir, estás escribiendo cualquier enlace en este navegador como Google.com, facebook.com, y hoy internet. Esto va a ir a este lado donde se clasifica este servidor web y servidor de aplicaciones, es decir servidor HTTP, este mini constituyen los datos. En realidad obtendrá los datos y los enviará en respuesta a esta solicitud aquí al navegador, y luego se cargará la página. Entonces así es como se lleva a cabo la comunicación. Vemos más detalles ahora. Ahora vamos a entender lo que está sucediendo en el diagrama anterior. Entonces el cliente HTTP, vamos a enviar la solicitud al servidor, responderá a ella a través de TCP. Lo mismo que te dije que este cliente envía una solicitud al servidor. Eso es aquí línea, esto es un cliente y el servidor declina. Ese es tu navegador. Puede ser cualquiera de estas cosas. Chrome, Firefox, Safari, Internet Explorer. Se está enviando la solicitud, solicitud HTTP que se pasará sobre el protocolo TCP. Por lo que esta solicitud será enviada al servidor, le responderá, enviando los datos de vuelta. Responderá a ella o si TCP. Por lo que utiliza el protocolo MQTT, utiliza el protocolo TCP porque es protocolo confiable. El protocolo Tcp es un protocolo confiable. Ahora veamos el ejemplo, el que ya he discutido, el navegador chrome. vemos cuando damos cualquier agua para decir que damos http, www.google.com, adobe eyes, dándole a cualquiera de la URL ella. Supongamos que se le dan las URLS, el Buda blue.example.com. Esto es suponer algún vínculo. Está teniendo la página predeterminada. Este enlace se ha configurado para tener la página predeterminada cada vez que el usuario escriba este enlace. Este enlace en sí está configurado para venir a esta página, página predeterminada. Si está configurado para esta página, index.html, cualquiera de los enlaces en realidad puede ser. Entonces, ¿qué pasa? Entonces vamos a ver. Esta UID, se pasará de esta manera. Esto que agregaste será pasado al servidor. Este sobrepujar lo procesa y enviar los datos de vuelta en respuesta y se cargará la página. Veamos, uno por uno, ¿qué pasa? ¿ Ahora? Estaremos discutiendo paso a paso. Es decir, cómo el cliente HTTP enviará una solicitud al servidor Apache. Por lo que ya tenemos, estamos discutiendo el ejemplo como estamos dando cualquier enlace al navegador. El navegador puede ser cualquier cosa que hayamos visto en el diagrama de bloques. Supongamos que si das example.com, como le dije que algunos de esos enlaces, están en la ADA o por defecto configurados a alguna página. Supongamos que esta página, example.com, está configurada para index.html, es decir, su defecto jugó tu sede. Dale a este enlace que la igualdad será ese index.html humano. Entonces este enlace que das en el navegador lo que sucederá en ese caso. En ese caso, escribirías cualquier enlace en el navegador. Y eso nos da un PIB. Es decir, si le das http ww.example.com, entonces STT pick nine. Ms, enviar una solicitud a ese servidor. Esto le agregaste un poco más allá al servidor Apache. Aquí mencioné esta prueba. Los datos se envían al servidor y estos datos que es esta interfaz de usuario. Esto, será enviado en la forma del acurrujo. ¿ Qué es este encabezado? Todos y todo lo que mencioné, el encabezado. Este encabezado, que está ahí. Aparecerá diferentes cosas en ella. Ahí está. Consta de los métodos que son diferentes métodos HTTP que están disponibles. Lo haremos, solo estaremos viendo los métodos de choque de lista que están disponibles para HTTP en el último final de la sesión. El que va a estar usando es un getMethod. Esta cabecera, es cánceres. Si estamos hablando de esta URL que estás pasando en el navegador, en el novio, digamos que estás escribiendo cualquier enlace, digamos WW.Example.com. Y lo que sucederá en el fondo. Por lo que postdoctoral en el fondo, este cliente HTTP enviará una solicitud a esa práctica más con este UID, es decir W W.example.com. Y esto, habrá no deseado ya sea enviar esta solicitud o su práctica en este cliente. Se convertirá esta URL en el hogar o encabezado, este encabezado es antepasado de todas estas cosas que S consiste de método. Existen diferentes métodos como get, delete, los diferentes métodos. Pero el que es este, el getMethod verá qué somos todos métodos diferentes para conseguir que esto recupere las URL. Por lo tanto, en nuestro caso, ya que estamos dando la URL, estamos buscando el USDA vía usando un año. El getMethod será rápido. En este caso. Entonces terminaremos. Ahí. Habrá conformado por el método, y consistirá en la URL de la tienda. Agregó que será, es decir en nuestro caso realmente murió example.com. Pero si está configurado para algún pago diferente decir index.html, luego b hat, y luego la versión del protocolo. Ya que es que estamos utilizando el protocolo HTTP, por lo que pertenece con respuestas de la versión del protocolo. Entonces vendrá ya que el anfitrión, anfitrión será como Www.example.com. Es dirección IP para quien construye cualquier cosa que estés preguntando cuál será la dirección de host ofrecida ese mes y el agente de usuario. Entonces este nu es ese agente. Será nuevo para ti, en realidad son siempre que estés usando Mozilla, Firefox, o Internet Explorer, solo entiendes que diferente, diferente, diferente, diferente, diferente, diferente, diferente, diferente, diferente API de agente de usuario usando, si lo desea, también puede probar de esta manera. Simplemente intentas ejemplos de puntos WW. El bill.com en el navegador Chrome y revisas el agente de usuario. Lo escribes, el incendio es falso, ves al agente de usuario. Por lo que será gracioso tenerlos dependiendo del dipolo va que estés usando VDC. La siguiente diapositiva para discutir más sobre este encabezado detalles. Por lo que espero que hayas entendido que cuando estamos enviando este nuevo enlace URL al navegador, realidad comprar en segundo plano, este navegador se formará en este esquema intérprete. Y consistirá en todas estas cosas que se pasarán al servidor en detalle. Te dije este encabezado cancel método stock en realidad, ya que queremos buscar la URL, el método será el método GET. Entonces la URL en realidad que estabas escribiendo en realidad, y la versión de protocolo, que tipo es GDP Virginia usando. Entonces alojas realmente lo que es una dirección IP de host y el agente de usuario, como lo hago para diferentes navegadores, hay agente de usuario diferente en él ver en detalle. Esto se detalla de esta manera. Por esta cosa. Lo entenderás y motoramente o así esta es la cabecera. Entonces en nuestro caso estamos buscando la URL. Ya que te dije cuatro métodos diferentes, diferentes que son diferentes métodos HTTP, en nuestro caso, obtener método solo se llama porque GET se usa para buscar la URL para esto, tú obtendrá esto como un método. Este es un método, este index.html. Te dije ese ejemplo del pequeño blue.example.com, pero en otro defecto, pero en otro defecto, zonificación está configurada a este index.html. Por lo que obtendrá la URL aquí de esta manera. Entonces este encabezado consistirá en esta versión de protocolo de HTTP. Entonces va a cánceres la anfitriona o anfitriona, WW.example.com, que lo estamos analizando, después el agente de usuario. Entonces esta es una fuente de agente de usuario. Siempre he estado escribiendo. Dar el enlace en el agente de usuario de Mozilla Firefox significará que este hombre era un codón entonces habría dado diferente. Pero en una inversión sobre sintaxis en ese agente de usuario. Y todos los detalles sobre esto, excepto el trastorno del lenguaje, estas cosas. Esto es todo lo que el encabezado constituye de toda esta información será enviada al servidor. Entonces cada vez que escribes alguna URL a sin example.com, tiene la llamada configurada a este index.html en el Mozilla Firefox. Entonces internamente este cliente formará este encabezado de esta manera en realidad, y lo enviará al servidor. Ahora también cuando vamos a estar haciendo programación. Entonces aquí te explicaré cada cosa sobre esta comunicación del cliente del servidor HTTP. Y en la próxima sesión haremos la programación. Cuando ejecuté el código de a. de ustedes estarán viendo todos estos datos. Estaremos imprimiendo los datos lo que hace descendiendo a lo lateral. Por lo que estos datos se imprimirán de lado a lado para que lo comprendan con mayor claridad. Estas son todas las cosas que el cliente envía al servidor y se puede obtener pantalla impresa en la consola de este mensaje del consejo asesor que recibió del cliente. Entonces esto hemos visto ahora qué pasa cuando la solicitud HTTP a ese servidor ahora vea trabajadores, qué triste, pero le enviará la respuesta a este tipo. Ahora, este lado de la misma tiene que ver este encabezado que el cliente le había enviado. Ahora bien esto fuera donde ese es el servidor Apache, cómo va a responder a este cliente. Por lo que también debió haber caído en 70. El dato en cuanto a este formato de encabezado, en este formulario, te dije que debas enviarlo para que en la página lo consigas. Obtener la página adecuada cargada con información. Por lo que este álbum, lo que NO EN caso de la barra lateral constituye constituye en esta información esta información que es cual este lado, dondequiera que debe consistir, pare si es posible, habrá la versión de protocolo, misma que GTP, qué versión los está utilizando, el código de estado y el mensaje. Qué hace esto, eso es si el enlace que el usuario le ha dado ha sido con éxito la barra lateral Esta mañana con éxito. Hay algún fallo de la red, cualquier cosa, lo que sea. Falla exitosa dependiente, dependiente del código son su mensaje están ahí para ese éxito de falla y muchos mensajes diferentes. Por lo que va a enviar ahí realmente en este encabezado que consideraremos reportar toda esta información que debe consistir y el tipo de contenido y la longitud del contenido. Entonces, ¿cuál es este tipo de contenido y longitud de contenido? En nuestro caso, estamos dando el ww.example.com o por defecto ese enlace está configurado a index.html. Supongamos que este índice, nuestro tipo de contenido será de página HTML. Supongamos que fue alguna imagen, entonces habrá dado el tipo de contenido es imagen. ¿ Y qué presta este contenido? Contenido tierra es la cantidad de los datos que se reciben. Cuánto de los datos ascendentes realmente enviará el servidor al cliente. Eso dice el contenido. Y a esto le seguirá una línea en blanco y el mensaje con servidor 1% para declinar que se puede escribir. Lo que haremos en nuestra próxima sesión, escribiremos un programa para este servidor. No necesitamos escribir el programa para el vuelo. Estar usando todos los métodos que hemos estudiado hasta ahora. Eso es para la comunicación del servidor HTTP, en lugar de ayuda de Estados Unidos lo que se requiera para crear un socket al que enlazar, De, escuchar aceptar todas esas coordenadas estará escribiendo y alguna poca modificación en realidad esa será esta modificación. Entonces desde que he estado con ustedes, desde entonces, les estoy diciendo que el servidor responderá en términos de producción. Entonces como vamos a estar escribiendo el código en Leda lado a lado, entonces misión. Escribe todas estas cosas. Deberíamos dar esta información desde el lado del servidor en nuestro código para que obtengamos una respuesta adecuada para cancelar, obtengamos una página adecuada. Entonces cualquiera que sea el mensaje que estemos escribiendo en baja lado a lado, queremos que se muestre en el navegador, pero en el documento dicho debe imprimirse en el lado del navegador. Supongamos que estamos enviando alto de mamá, el hi ascendente o hola, compra cualquier cosa desde el lado del servidor. Debe mostrarse en la página de su navegador como hola, hola, sea cual sea el mensaje que esté enviando. Pero tenemos dos tipos. Tenemos que no sentir y detectar textos. Tenemos que enviarlo en forma del encabezado. Y lo que este encabezado cancelará parada. Consta de versión de protocolo. Tienes que dar la versión HTTP en nuestro antiguo código de servidor. No te preocupes por esto. Explicarle con el tablero en. Por lo que esta es sólo una descripción por lo que muchos empiezan a embarcar, te explicaré qué codificación se requiere y es muy simple. Solo se requieren dos o tres líneas de código extraer oro para realizar servidor HTTP, comunicación del cliente ya que ya sabes cuál es la acera o doc TCP, lo hemos visto en nuestra anterior entonces acaba de hacer la lente es adulta y es cosa simple porque lo que tenemos que simplemente constituir el conjunto de vertical o pelea, tenemos que constituir que el mensaje, qué servidor va a enviar a la rentas de línea en crédito formal. Esa es sólo la diferencia. Lo que demostramos consiste, Alex, te mencionaré qué todas las cosas tenemos para dar un nuevo portal para que simplemente puedas reportar lo que estoy escribiendo, lo que sea que esté haciendo codificación y puedas entenderlo. Qué pasa con los que haces tú mismo, te ejecutas, todo lo que te haré saber lo que se requieren todas las cosas. Por lo que este protocolo versión status score mensaje, hay que darles tipo de contenido y luego seguido de noche en blanco y el mensaje. Entonces vamos a ver. En esto, este debe ser el formato. En realidad se trata de una imagen o diagrama de formato y qué mensajes tipo voy a explicar. Te lo explicaré en la próxima sesión. Qué mensaje se dará desde este lado de la misma en términos de estos archivos de encabezado. Para que cada vez que un dado Si les damos lo que vamos a hacer en nuestro caso, ¿cómo vamos a ejecutar eso? Harás esta comunicación entre la ventana del navegador, servidor Apache. Simplemente lo haremos, ya que estamos teniendo, estamos teniendo la configuración de nuestra propia máquina. Él quería probarlo, va a armar lograr eso. Daremos la dirección del host local y la computadora, el servidor, para que escuche en el host local de la unidad DynamoDB en el lado del navegador. Siempre que estamos dando el VI a dar al local que está dando la sierra de dirección IP disparada contra la propia máquina. Entonces en ese caso, hablará. Y no mapeaste al mismo puerto, servidor y cliente. Por lo tanto, una vez escribimos la dirección IP del host local en orden, pero estaba dando las fuentes de número de puerto en ese número de puerto donde estoy aplicando este teniendo el mismo número de puerto. Entonces seremos por nombre el servidor a ese número de puerto, es decir 80. Y vamos a estar haciendo por el lado cliente, este host local, host local en dirección IP en el lado cliente y con el número de puerto. Escuchará, escuchará esa solicitud de cliente. Ya que el ADA tiene el mismo número de puerto y se mapea a la misma dirección IP en el servidor. ¿ Deberíamos escucharlo? Y lo estará aceptando. Aceptará la conexión y luego enviará un mensaje al cliente el cual estará viendo en el mensaje de texto del lado del navegador. Así que no amigues, relájate. Te explicaré en detalle en la próxima sesión. Sólo para entender esto son los datos duros que tenemos que constituir. Se construirá justo en nuestro mensaje desde el sitio del servidor. Sólo este mensaje se cambiará de la identidad del servidor para escribir todo el mensaje dará la versión del protocolo, y luego le dará el estado 200 y los mensajes de estado. Bien, esas son todas las cosas que he tenido éxito. Hay una razón por la que damos este detalle y esta información como fecha. Y luego los tipos de contenido de no es EPA consideran el ejemplo de Www.example.com, entonces está configurado para index.html. Por lo que es el siguiente tipo de mercado no es el tipo de imagen, por lo que es tipo de contenido y cuántos datos se pasarán del servidor tomó nueve, ese es el contenido Lin. Y luego se debe enviar una línea en blanco y el mensaje de servidor a cliente. Di hola Hola por cualquier cosa. Esta es la cosa compuesta por el sitio del servidor en el que estos datos son un formato de encabezado el cual será enviado al cliente para página cargue en el lado del cliente. Entonces sí, una vez que esta respuesta del centro de asesoría como se muestra en la diapositiva anterior, entonces la página se cargará en el sitio de la línea del navegador, pero el mensaje enviado desde el servidor, lo mismo que te dije una vez. El servidor constituye este encabezado y envía al cliente. Y entonces la página se cargará en el lateral, en el lado del navegador con el mensaje con este lado, pero está enviando. Así es como vamos a proceder. Ahora, estamos terminados con la comprensión de los conceptos que se requieren. Y en el último, los métodos HTTP que están presentes ahí que métodos HTTP radicalmente diferentes como get, es parchear la URL. En nuestro caso, este método se utilizará porque estamos buscando la URL. Por lo tanto se llamarán al método GET cuando se constituya el encabezado, luego otro mensaje y encabezado de encabezado, es decir para obtener la información para la URL. Otro método se pone que es almacenar al método URL publicado en datos para usted. No me devolví una respuesta y eliminé el D2L. Entonces hay diferentes, diferentes métodos del HTTP. Lo que, uh, lo que nosotros, sólo requerimos, esa es la puerta ya que tenemos que buscar las URL. Espero por lo que entendiste el concepto antes de parar. Antes de comenzar con la codificación. Se requiere caminar por esta sesión. Por lo que las cosas básicas que hemos discutido, habíamos visto cómo esta comunicación desde el navegador se lleva a cabo un lado demasiado oscuro de ambos lados. Es decir, sobre cualquier enlace que mencionaste en tus diferentes navegadores diferentes, lo que sea, entonces este enlace será analizado. Es decir, se pasará una solicitud del cliente al servidor y este cliente en segundo plano, constituirá el encabezado que contendrá este formato si te disgusto, contendrá el métodos ya que hay que buscar la URL y luego la URL. Supongamos que está indexado, supongamos que es example.com. El valor predeterminado está configurado en index.html. Entonces esa será la URL, luego la versión del protocolo. Ya que estamos usando std, una versión de la misma, entonces el host que es example.com. Después fue escrito, te dije cuatro navegadores diferentes, como Chrome para mi adquisición cae. Dave derivado en diferente nuevo agente de usuario. Entonces esta información en ella, entonces ¿cómo responde esa disponibilidad? Por lo que también había sido constituido responde de nuevo al constituir este encabezado y cuerpo mismo. Por lo que este encabezado consistirá en todas estas cosas. Por lo que esto se requiere para nuestro caso. Estaremos escribiendo el mensaje desde el medio reescribiendo copia pegando el mismo o HTTP o teléfono, lo siento, esquema del servidor TCP que hemos visto. Vamos a copiar el mismo código partes es DCP. Dcp varias líneas naught client coding no se requiere solo servidor TCP, vamos a escribir el código, el mismo código y simplemente innecesario vía enviarlos guardé del servidor al cliente. Textos no centrados como hola, hola, arena en términos de formato de crédito, en este formato que tenemos que admitir cambiado en según lista todo está diciendo. Y luego se puede ver cómo pude terminar aplicación qué tan bueno hipervínculo sobre cómo cargar la página, cómo hacerlos mostrar mensaje en formato de página de índice. En la evaluación de formato basada en web, estás pasando de un lado, pero por el lado del navegador, esto es lo que y hay diferentes métodos, así que prepárate para una nueva sesión, pero no lo hicimos será la codificación para comunicación en línea del servidor HTTP, es decir, el servidor Apache HTTP, y la comunicación del navegador en TCP en Windows VDB viendo así estar listo para ello. Gracias. Muchas gracias. 16. Socket Session10 de la ejecución HttpApacheServerClientCommunication Apla el: Hola, y bienvenidos a esta nueva sección que es programación y ejecución de un TPP. Nuestra camiseta sería navegador comunicación cliente en el IDE, en DHCP. Al igual que en la sesión anterior, hemos visto la comprensión del navegador del servidor HTTP Apache. La comunicación del cliente puede haber visto qué se requieren todas las cosas, cómo se lleva a cabo la comunicación de la barra lateral y del navegador, cómo el cliente, pero cuando, cada vez que estamos lanzando, agregamos escribiendo cualquier enlace en el navegador web. Y el navegador que puede ser, se puede explotar, se puede cultivar, puede ser Firefox, navegador. Soy diputación. Entonces esta URL se envía a la barra lateral en forma del encabezado que hemos visto, hemos visto el formato del encabezado. Por lo que favor refiera la sección anterior si no lo has pasado, es el entendimiento en detalle antes de iniciar esta ejecución del programa en ID y hacer esta comunicación en la navegador y servidor Apache. Hemos visto cómo el cliente va a enviar un mensaje al sedimento y no informarle el encabezado, entonces colono responderá al mismo. Lo mismo en domo Salk cabecera, cabecera y el cuerpo. Entonces finalmente obtenemos el mensaje donde no se habían decidido, bueno, enviaremos el mensaje que se va a mostrar en el navegador y en la página web. Estaremos viendo que esto se va a ejecutar, estará escribiendo el programa en el ID que se llama ID de bloque. Aquí lo estamos utilizando ya que está libremente disponible, y luego lo estaremos ejecutando y ustedes estarán viendo cómo estamos haciendo la comunicación. Empecemos. Ahora la declaración del programa, que he mencionado ahora que en el navegador, lo que vamos a estar haciendo esto bajo navegadores. Supongamos que está utilizando un navegador Chrome. Puedes utilizar cualquier navegador. En nuestro caso, estaremos utilizando el navegador Chrome. Y el usuario da el enlace así. ¿ Qué es este enlace? El usuario puede dar cualquier enlace. Entonces por he dado este link porque quiero, quiero que la mía tome la comunicación en la misma máquina anfitriona. Bede escribiendo el código en la celda de la manera en los votantes indecisos compran a la dirección IP del propio anfitrión local, de esta propia máquina. Y será vinculante para el mismo anfitrión local. Y entonces se querrá al cliente conectarse al servidor. Entonces tenemos que dar la misma dirección IP. Por lo que me había preguntado quién te dijo uno a siete puntos 0 punto uno, que das del lado cliente. Entonces toda esta comprensión, escribiendo el programa como te dije en la sesión anterior también, se requiere del conocimiento de la comunicación TCP, que hemos visto programación socket, que nosotros han hecho por las ventanas. Hemos hecho conjunto de comunicación online en una sesión anterior a anterior, habíamos visto cómo hacerlo si pudieras escribir el código para el servidor así como cliente y después la comunicación. Por lo que tengo viejos métodos de cascada se utilizan para líneas de productos finales del lado del servidor. Me gusta el volumen. Entonces tiene que escuchar y luego excepto bajo el plan de estudios que he visto en esos. Por lo que has pasado por toda esta sesión. Te vas bien secuencialmente. Casi decodificando lo que vamos a hacer. ¿ Qué vale HTTP en lugar de eso? Nueve, estarán utilizando la misma codificación que hemos hecho para la comunicación del cliente del servidor de programación de socket TTP . Pero una pequeña modificación podría ser una modificación unifilar sobre altura de enviar el mensaje del servidor al cliente. Como hemos visto, si tenemos que hacer la comunicación por nuestra, para que los certificados bursátiles valgan nueve de comunicación y mensaje. Deberíamos hacerlo así debió haber sido el formato de encabezado. servidor debe estar dando la respuesta al cliente en FOMO, no como en el pretexto. Eso es sólo una modificación a tres líneas de código descansan mayores. Lo que será lo mismo para el sitio del servidor, que no has hecho más PTP, que hemos visto y ejecutado en. Entonces no necesitamos escribir esa línea. Ford hillary, tenemos que escribir sólo las líneas del puerto del servidor y se ingiere error tipográfico, se ensancha en este podría poseer navegador, este particular direcciones IP, es una dirección de bucle atrás. Eso significa que son estas direcciones en esta propia máquina host local, sean cuales sean las direcciones IP hay de la máquina host local, es que en la dirección IP y número de puerto que somos dando un 0 AT, sabemos que esto es específico a HTTP estará dando el tablero también para el lado del servidor, esta es buena línea diciendo en donde vamos a dar esta URL en el Chrome no va a escribir ese código de línea, no se requiere esta unidad para abrir esta URL y esa URL sólo que están abiertas si desea que la comunicación se realice en la misma máquina host para esta línea. Entonces este minima. Esta será, y creo que a la dirección IP, dirección IP local de la propia máquina. Entonces dale esta dirección IP en sí misma. Y estos números de puerto son simplemente el cliente se conectará al servidor y dijo ¿Qué pasa con cualquier mensaje que estemos enviando desde el servicio vía enviarlo en el crédito SOC, que consiste en la Hagadá así como el cuerpo a cuerpo continuará. El mensaje ha sido también hay que pasar. Y luego salida. Eso está en la pantalla del teléfono, usted estará recibiendo salida cualquiera que sean los enchufes, lo que sea que el servidor envíe al cliente, el mensaje como high auto, bienvenido a la programación socket cualesquiera que sean los mensajes sobre centralis. Entonces código de inicio para que puedas ¿no lo entiende? Esto es sólo la declaración del programa. Lo que te dije. Tienes que abrir este enlace en la habitación. Esta es la aplicación, esta es la aplicación cliente que estaba en aplicación. Entonces la solicitud será enviada al servidor y el servidor responderá enviando el cuerpo. Y luego obtendrás en la pantalla el mensaje cuál fue la respuesta y los estudiantes. En la página, es un fin también podemos ver en el comando mal, como cuando ejecutas código cerebral, se puede ver lo que todo cliente le ha enviado. Hemos visto también eso en detalle en la sesión anterior. Entonces veamos aquí entonces cómo ocurre la comunicación entre el navegador, cliente y Apache. Entonces cuando damos este pero este enlace Endo Chrome navegador, entonces ese enlace se envía en forma de encabezado. Ya he discutido este mensaje. Esto vi que el enlace será enviado a los clientes y a los clientes y estamos escribiendo este enlace. Y entonces cliente constituirá, creará un encabezado, estará enviando al servidor. Por lo que será construir lo oculto y luego enviar al servidor. Hemos visto cómo cuando el cliente envía construcciones se dirigen, ¿cómo lo hace sin apretar? He visto, en ese caso se hace el método. Entonces lo hemos visto da ese resultado. Ya hemos visto, entonces hay una versión de protocolo, entonces eso es un host. Entonces esa es una región enorme en el formato más antiguo en el que un sentido de fecha límite al servidor en cuanto a encabezado ya hemos discutido previo a esta sesión, por favor vaya a través de ella. Y Dani, lo mencioné, manda el mensaje a la séptima vez que lo he escuchado dicho lo que debería responder a este cliente también, en cuanto a cabecera en sí, no me formatee cuerpo, es sólo repitió este sentido unimodal de lado y estímulo que responde al cliente y el servidor lo envía en esa línea. Por lo que debe ser en el formato cabeza y cuerpo. Por lo que hemos visto el servidor va a estar enviando esta prueba de toda virgen, entonces el estatus de que es exitoso o no. Entonces estado número de mensaje de estado en este formato de mapa, entonces este detalle fechas, identificar el tipo de contenido. Entonces en nuestro caso es simplemente mensaje de texto. Si eligió el tipo de contenido es texto, HTML. Si fuera la imagen, entonces daría beneficio y luego contenido tierra, eso significa, eso significa cuántos datos se transfieren del servidor al lado del cliente y luego líneas no en blanco. Y aquí estarás escribiendo el mensaje. Entonces veamos cómo escribirlos como h desde el sitio del servidor. Ha habido más allá del cambio que se requiere además del tablero entre una escena o el servidor TCP. Entonces este es un mensaje que necesitamos enviar del servidor al cliente. Sólo estoy mencionando aquí en esta presentación y luego reescribir la junta directiva. Entonces entonces te hará una z para entender este revisado o los conceptos poco , metas de comunicación del alcohol. Entonces hay una razón por la que sólo voy, pasando por esta presentación ahora este mensaje, lo que vas a enviar, simplemente no corriges índices están agregando o puedes definir, puedes hash define max, suma tamaño y puedes eclosionar para encontrar sus ojos a este número y puedes leer las señales aquí. Esto es sólo un simple Gooding para entender el concepto. Y entonces lo que estoy haciendo, estoy inicializando esta cadena a este marco. Esto es sólo una cadena que es el mensaje, esto es Ariel caracteres y estoy escribiendo string copy y le estoy pasando esta cadena. Entonces como les dije que, como hemos visto en esta diapositiva, eso sí, debo enviar en este formato. Por lo que este detalle en mí, he rellenado el mensaje que es versión de protocolo que los números de estado mensaje Davis y esta fecha contenido y contenido del servidor. Y así si ves este mensaje, es bits en el HTTP, entonces su versión del protocolo y el estatus sin fines de lucro luego lo aceptaron como un mensaje que los continentes y luego es 47 contenido. Es decir, cuántos datos se envían del servidor al tiempo de contenido del cliente que se tarda en vapor. Y luego agregamos en el cuerpo en realidad, entonces habrá unas líneas en blanco de barra y hay una nueva línea. Y luego cuerpo estoy escribiendo hola del tsunami. Puedo escribir cualquier cosa que estaré escribiendo. Puedo escribir programación de socket de deshuesado, hola o cualquier mensaje que quieras censurar. Este es un mensaje con los alumnos. Este mensaje se mostrará en tu página. Entonces esto es lo que vas a enviar desde el lado del servidor. Entonces comencemos nuestro código. Por lo que necesitas instalar Code Block ID está disponible gratuitamente y es un código abierto. No necesitas comprar la licencia. Es muy fácil de instalar y sólo tiene que ir al sitio de descarga y simplemente instalarlo y comenzar a programar con él. Empecemos. En mi caso ya estoy abierto antes del menú y haga doble clic en el bloque de código. Obtendrás esta página. Vamos a crear la nueva aplicación de consola de proyecto del proyecto. Haga clic en Siguiente, C plus plus, luego el nombre que está aquí. Lo es. Va a darle un nombre sensata, luego haga clic en Siguiente, después terminar. Volcará en la llamada programa Hello World para ti. Así que permítanme aumentar el tamaño del texto para que puedas ver lo que vas a estar escribiendo hill apenas un segundo. Los judíos serán muy grandes. Déjame bucear una copia pega el código. Ya he escrito el código. No quiero desperdiciar diamante escribiendo un solo trazador de líneas, como explicar cada línea. Entonces es sólo el código repetitivo. Simplemente adicional este mensaje que he mostrado en esta presentación. Eso es todo. Entonces vamos a abrir. Tengo copia pegada. Ok. Este es el código completo, así que esto no es nuevo para ti. Ya lo has visto en la valoración de la comunicación de TCP. Déjame revisarlo. 12 como línea extra en caso de comunicación sin conexión del servidor HTTP. Lo que estamos haciendo antes que nada, la ejecución de nuestro programa comienza desde la función principal. Nuevamente, la razón por la que se ve la función lumen es un punto de entrada para iniciar la ejecución de cualquier programa. Cualesquiera que sean las líneas de código que escribas en esta función principal, se ejecutará línea por línea. Por lo que ahora tenemos que declarar estos archivos de encabezado. En caso del sistema operativo Windows, se mostrará que podemos utilizar las funciones a partir de esto. Siempre que estés llamando a cualquier función, usando cualquier función. Desde que sí encontré que has mencionado no va a dar ninguna compilada una cadena de pradera en realidad, eso es este un verdadero personaje de libro y simplemente lo hemos inicializado con este formato. Te explicaré esto el mismo formato. Sin embargo estoy canalizando los mensajes, aprendiendo del aprendizaje de la programación de socket. Entonces. Se trata de datos WSL. Por lo que ya has visto lo que es WASH. yo. Revisarlo rápidamente. Por lo que estos datos de WAS se utilizan para inicializar la Biblioteca de Socket del gobierno. Hemos visto este WAC d tau, que es post-op todos estos datos, que es que se trata de un cruce estructurado de las estructuras en segundo argumento. Entonces, ¿qué hace esta estructura? Entonces, en primer lugar, ¿cuál es esta función, como te dije, se usa para inicializarlas. Y Socket Library, zipper saca estos datos WSS en los que el primer argumento dice sobre lo que el programa quiere usar, que inicia sesión en la biblioteca de socket women. Ya que el programa quiere utilizar la versión 2 tenemos que dar en este formato hacer uno y luego redondo bracket dos coma 0. Entonces este segundo argumento, es decir datos de Ws, eso es una estructura que es esta. Has creado un objeto de esta estructura. Esa estructura. Entonces aquí estamos pasando eso. Estás mencionando la dirección en esta estructura, por lo que se derrama por esta función. ¿ Cuál es el propósito de esta estructura? Por lo que dirá esta biblioteca de sal de diamantes pasará la información crítica. Ningún programa que diga cuántas cantidades de tomas se pueden crear y otra información necesaria. Así es como se construye cuando llamamos a esta función objetivo, que se utiliza para inicializar la biblioteca de tomas de viento. Entonces hemos visto en este ROSI y se necesita crear un socket llamando a la función socket tres argumentos o su argumento posts. Esta es una familia de intereses Dennett. Se destaca EOQ en un segundo es un tipo del tipo socket. Es un arroyo. Estamos utilizando una comunicación socket confiable y siempre recordamos ya que estamos haciendo la comunicación de HTTP, siempre debes tener lugar en el propio TCP, es decir rack VCB donde tienes dimensión. ¿ Ves protocolo de comunicación musical? Ya has visto en socket para ser seis sesiones. Y mencionaste el tipo stream y luego los ceros. Este es el protocolo de comunicación predeterminado. Ustedes chicos en un perseguidor 0. Por lo que ahora hemos creado el socket, ahora va a devolver el descriptor socket. Entonces por este descriptor, estaremos llamando a la función bind, estaremos llamando a la función escuchar, luego salir función por este descriptivo ya que estaremos vinculando a este socket descriptor socket, entonces ese pedazo de código es éste. Esto, ya hemos visto que se trata de una estructura. Agregar R. Así es, es una estructura que está aquí hemos escrito, aunque apretada, ésta, esta es una estructura y este es un video, un poco de una esfera creada tú tienes, te lo dije tienen que crear nuevo ventajosamente obtener el post descriptor socket llamando a la función socket y análisis en un disco news, saga, descriptiva y Nicole la función de salida que ya hemos agregado. Y esta esta estructura. En esta estructura estarás llenando la dirección IP donde este Edward necesita vincularse, así como apoyar la normalidad, todos los detalles necesarios que estarás dando ahí. Eso es lo que estás dando EN un DVR y excluye cualquier no intrusivo. He explicado en detalle cuál es el significado de esta dirección IP a la que debe vincularse el servidor es que hemos utilizado a esto. ¿ Qué es i un eDD en la necesidad subrayada puede ser vinculante a todas las interfaces de red en la misma máquina host. Entonces si te conectas, si estás usando ninguno, es tener una dirección IP diferente, es interfaz de red independiente. Esa dirección IP el servidor otra vez por rellenar lo que estés usando para conectarte con él en el cuello. Si estás usando land out, si estás usando Wi-Fi, Wi-Fi y teniendo una idea diferente, una interfaz de red diferente. Nuevamente, si estás usando Wi-Fi, entonces lo hará, se puede vincular a cinco años de disolverse. Ahí está. Puede ser comprando dos interfaces de red que añadieron entonces, esto es lo que habíamos mencionado que entonces numero estamos escuchando dub. Lado debe enlazar a este número de puerto es 0 AT para la conexión HTTP. Por el lado del cliente, debe estar conectando al mismo número de puerto. Es decir, lo que está comprando dos. Por lo que esto es muy importante diabetes número importante que la línea debe estar mapeando a la misma, debe estar conectando a la misma. Entonces esta estructura hemos sentido que estamos llamando a la función en la que estamos frente a este descriptor de socket. Estamos pasando esta dirección. La disrupción en realidad tuvo bastante sobre diabetes y el número del puerto y el tamaño de la misma. Entonces tuvimos una llamada a la función de lección. Ahora, estás escuchando. Escuchar función de nuevo, estamos pasando el descriptor socket en contraposición al argumento. Segundo argumento contiene conocido cuántos número de la conexión del cliente debe estar en la cola de espera. Cuántos decidieron qué otra vez, procesar en realidad uno por uno y Ken proceso una vez que el uno se complete la comunicación línea de mediados de mes, entonces estará procesando la otra línea a cuántos número de números que debe estar ahí debe estar esperando del sitio de conexión del cliente pero aceptando el sitio de conexión de línea en declinación, conectándose con el cliente. Entonces, ¿cuántas solicitudes de clientes pueden haber si hay múltiples líneas? Entonces si hay tres líneas, queremos estar encendidas, Connect en realidad, por lo que deben estar en la línea de espera se está procesando. Por lo que podemos mencionar ese número de nueve condición que debe estar innovando. Mencionaste ceros ya que queremos sólo una conexión tras tiempo. 17. Socket Session10 de la ejecución HttpApacheServerClientCommunication Apla el: Una vez que obtiene una conexión desde el lado del cliente, está escuchando, y luego aceptará la conexión. Entonces estás en el pasado el descriptor del zócalo. Pasaremos esta estructura que está vacía. Esto se derrama cuando llamamos a la función de salida aquí, los detalles del cliente estarán ahí qué dirección IP, número de puerto y todo eso. Este ISO para destrucción, comprobando esta condición, ya sea exitosa o no exitosa, entonces volverá en carga es descriptor de dividendo criptográfico del socket, nuevo descriptor del socket. Entonces, ¿por qué se requieren descriptores son para ti el primer descriptor que está muerto, se requiere x para escuchar. En realidad financiada solicitud de conexión independiente. Esto se comprometerá con el del cliente. Y el socket es podría haber DO se utiliza para enviar y recibir los datos. Por lo que esto se dedicará a esto, en este trabajo. Entonces, por lo tanto, esto será diferente a lo que estamos haciendo. Aquí. Teníamos recibiendo el mensaje desde fecha límite. Entonces, qué mensaje aquí obtendrás sencillamente ya que estaremos escribiendo, escribiendo, o escribiendo eso, he sido un enlace en el navegador Chrome. Como te dije qué, estarás pasando solo un número de puerto anfitrión local. En ese caso, este mensaje, pero se pasaría de cliente a servidor ingresos del ex soviético por encima de enlace de Bassanio. Por lo que te dije que debería ser rápido en cuanto nuestros comentarios de cabecera de cliente a servidor, el mensaje estará pasando el manejo haber visto ese formato de encabezado en sesiones anteriores. Debe estar enviando el método y debe haber U1, U2. Debe ser el costo de la versión del protocolo sobre el método. Entonces debería ser la URL, luego la versión del protocolo, y el host, luego los encabezados User-Agent. Entonces cada vez que estés recibiendo ese mensaje del cliente, ese mensaje será recibido en esta cadena que es alrededor de cuatro y lo estamos imprimiendo para que te impriman todas las cosas en el lado del servidor. Lo que el cliente ve que está en formato escondido, es decir sobre el movimiento en el HTTP luego sobre la URL, luego sobre ellos. Sobre esto, sobre el método posible, obtendrá el método, luego volverá a pesar de que, URL y obtendrá la versión HTTP y quién es la región de usuarios, verá eso. Y entonces, entonces la vista de Dios, que está enviando el mensaje es ésta. ¿ Qué hace este mensaje que hemos visto aquí y hemos sentido a éste, es decir estamos pasando también la respuesta del servidor en formato de encabezado, no un simple mensaje de texto, no hola, hola, así Somos. Hay que escribir en este formato por sí mismo para que el mensaje que se enviará desde el servidor al cliente deba estar recibiendo la pantalla. Display, que se pondrá en la consola debe ser el formato de página web interna. Entonces eso será un paso el login aquí. Entonces esos datos, números, estado, contenido de mensajes, y la cantidad de datos que tiene bonos forma nuestra fecha límite luego diez tipos en detecta SDM y el cuerpo principal. Este mensaje o esto reacciona pasando simple mensaje de aprendizaje de la programación socket. Por lo que esto debe mostrarse en el navegador. Una vez aunque el sedimento se conecta, hazlo en la línea. Cliente descendiendo la complicación. Al igual que cliente, estamos lanzando la URL. Y luego se agrega una lista obtenida de cliente a servidor, informal ******. Y luego también enviaremos este mensaje y crédito formal y en el navegador. Por último, recibirás el mensaje en absoluto ya que esto es lo que el analizando thrombo aún desde el servidor a cliente este mensaje y luego agregamos comprobándolo. Ningún editor es que si se trata de un mensaje destinado a 0, entonces estamos cerrando el socket. Entonces esto es todo lo que se requiere codificación. Qué servidor HTTP, no necesitamos hacer la codificación o el cliente, simplemente hay que escribir un enlace en el navegador que es sólo aunque o mensaje que no escuchó. Y denominador compilar el código. Y vamos a ver. Esto se combina el archivo actual. Por lo que aquí no se puede ver mitosis presente y déjame simplemente intentarlo. Están presentes nuevas ideas. Ahora necesitas ejecutar este programa haciendo clic. Conoce cómo quieres, tienes que ir a. Ya lo he dicho en la sesión anterior, también, ir a la View. Y luego en la pérdida, hay que tomar esta caja. Ahora cuando das una factura, realidad cuando haces construir y ejecutar, en ese caso, puedes ver aquí el servidor se está ejecutando y te permite que te pregunte, esto es viable si quieres permitir Nexis? Sí. Ahora el servidor está escuchando la conexión entrante. Ahora tenemos que enviar, hay que abrir la URL. Tienes que escribir un enlace en el enlace en el navegador. Esa será la sencilla, como te dije, será la dirección IP local uno a $7 punto punto uno y el puerto número 80 tipo de recuperación este enlace en el navegador que se encuentra en el sitio nueve. Entonces la comunicación se lleva a cabo al servidor y servidor enviará el mensaje en términos de patrimonio y mitigará en ese navegador ese mensaje como lo que debemos obtener. Deberíamos conseguir éste es decir, lo que sea que les hayas dado un mensaje en el sitio del cuerpo, aprendiendo programación socket. Veamos, hagámoslo. He abierto y estoy escribiendo esta URL. Te dije que tenemos dos cotiledones, uno a 710 No.1 colon 80. Esta es la dirección de loopback, misma dirección IP de este host local y los números de puerto en el enlace sin servidor a esta dirección IP y números de puerto. Por lo que en por el lado cliente debemos dar el mismo que estamos dando, luego solo doble clic en él. Por lo que aquí se puede ver recibimos este mensaje, hice doble clic en este enlace. Tengo aprendiendo programación socket. ¿ Ahora qué pasó? He muerto en el navegador, navegador Chrome, esta dirección IP en particular. El número del puerto que decide a qué es vinculante sencillamente y este mensaje que Dios recibió, sea cual sea lo que el cliente esté enviando el agua, haga el servicio , y luego lo hará, se convertirá, se encontrará esta URL antes de enviarla al servidor, la convertirá al formato de encabezado para que en el servicio reciba ese mensaje. Entonces veamos ese mensaje. Lo que llegamos aquí, se puede ver decidido dónde recibí el mensaje del lado del cliente en cuanto a cabecera, cada vez que añadas un nuevo pasado aquí en FIV, dirección IP y el número de puerto. Por lo que se convirtió al formato de encabezado y se imprimió en el lado del software, cualquier cliente tiene descendiendo al servidor. El mensaje. Aquí se puede ver como te dije, todas estas cosas que su cliente ve este método, la versión de protocolo, entonces el host es esto, luego agente de usuario. Por lo que esta declinación descendiendo al servidor que estamos imprimiendo en el lado del servidor. Que como pueden ver, hemos visto en este propio programa, tal y como lo han visto en este propio programa, ha visto. Esa línea dice, en realidad, y el otro lado, lo que está recibiendo el mensaje y estamos trayendo eso es año tanto en buffer como lo estamos imprimiendo en la parte superior, sin vender. Entonces esa es una razón por la que estamos recibiendo todo este mensaje, sea cual sea lo que el cliente esté enviando al servidor en términos de encabezado. Ahora, el cliente, entonces el servidor en realidad una vez que recibe este mensaje, luego agregamos de nuevo esto de lado, y luego el servidor está enviando mensaje. Una vez que reciba el mensaje del cliente, entonces el servidor responderá de nuevo enviando el mensaje. Y este mensaje que hemos visto aquí, estamos pasando lo que estamos pasando este mensaje y arroja todo tipo de formato en el mismo formato. Pero estamos escribiendo todos estos detalles, esta Fama Titus, diferentes fotos y para el cliente o el servidor. En primer lugar, habrá la versión de protocolo que el estado. Este número es el mensaje de Peter, el tipo de contenido, la longitud del contenido, y todas estas cosas, luego con el banco y luego el cuerpo. ¿ Qué mensaje? Este mensaje lo que el servidor de ciencia Southwest envía al cliente, tenemos que mostrar en esta base. Por lo que se puede ver con respecto al aprendizaje de programación de socket. Por lo que se trata de una comunicación bidireccional que tuvo lugar. Así es como necesitas correr. Una cosa más a mencionar en realidad, para ti, si nunca tienes Rodin la comunicación socket en tu sola máquina, la misma máquina podría ser siempre que estés escribiendo este nuevo ADA, terminar hasta número de puerto que podría estar recibiendo como editor. En realidad esto es muy importante, así que por favor haga una nueva descarga de ella. Es posible que estés recibiendo una edición en realidad el permiso denegado porque hay un firewall en realidad en que no te permitirá comunicarte. Puede suceder. Puede suceder. Está permitiendo, pero si no lo permite, usted, da el permiso denegado. En realidad, en ese caso, hay que hacer algunos ajustes. Acabo de mencionar que lo mencionaste ahora para que te sea útil. Así que no te pierdas este DOM, que es muy importante. Podrían ser pocas fases un problema, puedes arreglarlo simplemente. Tienes que solo un segundo. En ese caso, hay que abrir el bloc de notas. Tienes que realmente, no te está permitiendo comunicarte en realidad, y ese es un error en realidad conectándote al propio host local. Por lo tanto, hay que modificar el archivo host. Ese archivo host, no tienes el permiso para modificarlo como presidente ubicación particular que te haré saber ahora ese archivo host, hay que agregar una línea que en realidad, así que que se pueda conectar con el anfitrión. Ese archivo anfitrión que vas a estar modificando su puerta no está teniendo permiso, por lo que sólo primero necesitas abrir el bloc de notas de esta manera, devolución de dinero, hay que escribir, corredores administradores te preguntarán, ¿ dónde quieres permitir? Sí. Entonces solo lo haré. Muy bien. Esta línea en realidad eso es uno a $7 punto uno y luego local. Este es el formato. Y lo estaré salvando. Aquí. Lo estaré guardando por el nombre como con, ST se ve obligado. Entonces, ¿cuál será la ubicación de la misma? Será C. Programa encuentra lista. Tengo que ir al sistema C Windows Treinta y dos controladores. Entonces EDC. Este es un veterinario de ubicación y necesitaré guardarlo. Y entonces esta es la, necesito guardarla aquí haciendo clic en Guardar. Ya lo he salvado. En realidad, no quiero volver a guardar, por lo que ya está ver, sólo da click en ver. Una vez que haga clic en Guardar, en ese caso, esto se alineará para evitar el permiso dental denegado problema. Esto te permitirá volar. No habrá un viable en realidad, por lo que se puede comunicar a través de este anfitrión local. Este es sólo el ajuste que se requiere. Ahora, de vuelta a la presentación. Ahora ya hemos terminado casi con esto. Entonces sí, estamos terminados con este servidor HTTP nueve comunicación, es decir HTTP Apache servidor comunicación con ese esquema del navegador que hemos visto en la idea y aquí la ejecutamos. Por lo que se puede ver cómo se lleva a cabo la comunicación y se pueden ver cambios muy mínimos requeridos con respecto a la de la comunicación TCP solo tenemosque la de la comunicación TCP solo tenemos enviar el mensaje desde el servidor a cliente. En pedal formal, hemos visto cómo, cuál es el formato de la misma y espero que lo envíes. ¿ Cuál es la sesión que hemos visto? Cómo cuando das la URL en el navegador que está en tierra Chrome, puedes usar cualquier navegador, firefox, cualquier cosa. Entonces como este cliente envía el mensaje al servidor, estará constituyendo un encabezado. Lo hemos visto imprimiéndolo en la parte superior. La identidad del servidor ha visto cómo el código del lado del servidor, que estará escribiendo. Estaremos enviando el mensaje desde el servidor al cliente en tipo formal de que hayas visto o platicado para enviarlo en cualquiera de los programas o. Y eso no es basura de esto. Y luego el mensaje que el servidor lo envía se mostrará en el lado del cliente. Es así como se lleva a cabo la comunicación y se hace con esta sesión. Gracias. Muchas gracias. 18. Socket de la de Socket 11 de la ejecución HttpApacheServerClientCommunication: Hola, bienvenidos a esta nueva sesión. sistema operativo Polyphemus no lo había hecho, estaremos haciendo otro programa por tener la comunicación entre HTTP, servidor Apache, así como comunicación del cliente del navegador utilizando el lenguaje C. Por lo que antes de esta sesión, hemos hecho un programa más en el sistema operativo Linux. Hemos visto la programación usando C así como C plus plus para mí, he hecho la comunicación para TCP y comunicación del cliente. Por lo que en esta sesión, en esta sesión te estaré explicando cómo lograr el servidor HTTP Apache navegando la comunicación online. Entonces aquí lo que vamos a hacer, este mismo programa que he hecho para el sistema operativo Windows usando C plus plus. Has pasado por esa sesión también aquí, dependiendo de tus elecciones, si estás teniendo el sistema operativo tiene windows, puedes grabar esa sesión y puedes escribir la codificación para esto. Debe ser un partido varios crecimiento que evitar sesión anterior. Si está teniendo el sistema operativo Linux, puede referir esta sesión, pero haremos el mismo programa para el sistema operativo Linux. Qué pasa en este filo para darte sobre Di Salvo, rosa comunicación cliente, una barajada. El usuario estará dando un enlace en el navegador. Navegador puede ser cualquier cosa, puede ser la caja más tranquila que se puede cultivar. Qué pasará en este caso, ya que este navegador es una aplicación cliente. Por lo que la solicitud internamente irá al Apache, una especie de extraño, será en cuanto al encabezado. Y luego el servidor envía una respuesta en términos de encabezado. Y entonces esa respuesta estará ahí con el mensaje, sea cual sea lo que el servidor quiera enviar al cliente todo lo que se mostrará en la página en el navegador. Por lo que hemos visto, hemos hecho esa comprensión del navegador del servidor HTTP Apache en nuestra sesión anterior ahí, en nuestra comprensión de esta sesión, pero en Islandia tú el concepto lo El navegador del servidor Apache HTTP esboza cómo esto, cómo el cliente enviará una solicitud al servidor en términos de formato paralelo. Y entonces cómo In enviar una respuesta a la cliente en términos de ella que encarna toda explicación cubierta en una sesión. Esa sesión se puede requerir para este sistema operativo Linux también, y también para el sistema operativo Windows. Y entonces he cubierto otro cirujano para las Ventanas en donde tenemos tenemos, estamos terminados con la programación y ejecución en las arrugas de yodo de madera aquí va que hacer por el Linux, hará la programación Polinices y lo ejecutaremos. Pero los auriculares, la comprensión de los conceptos se puede reportar la sesión anterior no lo hice. He cubierto la comprensión básica de esto, cómo el servidor y cliente Apache se comunican en términos de enviar el encabezado y cómo responde el lado de nuestros regalos. Para que puedas entender los conceptos devuelven las sesiones anteriores, que son poco comunes tanto para Windows como para Linux. Bueno, empecemos aquí. como te dije, lo que vamos a estar haciendo aquí, estaré usando el comprador quiet box como navegador. Y estaré dando este enlace. Este link, que nos estaré dando sencillamente, puedes, ya sabes que este $127 punto 0 punto uno, es una dirección de loopback. Te explicó. Dirección de Loopback significa que se está refiriendo a la dirección IP de las campanas locales Lucas mi cadena. Entonces esta es mi laptop dondequiera que estaré dando este enlace en mi navegador. He tenido todas las dimensiones, este $127 punto uno, se reportará a la dirección IP de mi máquina local fuera de mi computadora portátil. Simplemente significa que, y este es el puerto número 80 AT este navegador significa que te mereces aplicación cliente. Ahora esta línea se comunicará con ellos. Por lo que un delineado está enviando este enlace al servidor al servidor que ahora es parte dos servidores. Por lo que he explicado en esa sesión anterior tal vez nunca va a explicar los conceptos. Por lo que he explicado cómo este cliente enviará a los de arriba en cabeza lo que todas las cosas representarán de manera práctica. Si tiene que pasar por el detalle, por favor informe esa sección. Y luego el servidor enviará una respuesta al cliente. Por lo que simplemente obtendrá lo que el servidor envíe un mensaje se cargará en esto. Yo estaba en Brown dijo que está en la bola de fuego. Por lo que también hemos hecho la programación y otra sesión para el sistema operativo Windows. Ahora aquí verás por el Linux, esto es todo lo que vamos a hacer. Simplemente da este enlace por el lado de la aplicación, en el lado del cliente que está en el lado del navegador, úselo que es un Firefox. Y luego internamente la solicitud será enviada de cliente a servidor en la propia celda, les daré mensaje en cuanto a desplazamientos enformato de desplazamientos en encabezado superior domo y qué formato de cuerpo. Y eso se cargará en tu navegador, sea cual sea lo que el servidor mande mensaje de hola que se mostrará en tu navegador que esté en el lado del cliente, sea cual sea el mensaje o si el programa socket, cualquier cosa, sea cual sea el mensaje que se envió. Se mostrará en la página, página web Walmart. Esto es lo que vamos a hacer en nuestro programa. Entonces aquí, esto es sólo una explicación lo que les he dicho. En cuanto a dosis altas, se puede pasar por él. Entonces el lingual enviando un producto formal al servidor desde el cliente. Y en respuesta, contrataré mensaje y crédito formal y cuerpo. Si tiene que reportar el formato adecuado del encabezado y el cuerpo referido a sesión anterior entendiendo el concepto de programa. Programación para esquema de servidor HTTP. Simplemente se puede entender, pasar por esa sesión para entender el concepto con más detalle. Entonces. Esto es sólo la cabeza, un formato que se envía desde el servidor al navegador. Entonces esto es sólo un formato que he enviado, que he mostrado aquí. La barra lateral percibe cualquiera que sea esa línea descendente o estás dando una URL en el lado del cliente que está en el suelo certificable. Entonces esto entonces la solicitud será enviada desde el cliente al servidor. Las granjas son paralelas. Esto es lo que el servidor enviará una respuesta a la declinación, y esta es cada respuesta. Entonces este es el tipo de respuesta del formato cabeza y cuerpo. Aquí puedes ver te dije más dispares no está en el pelo determinado servidor envía al cliente, quiere llamar a la versión del protocolo que estamos utilizando el HTTP entonces el estado, si tiene éxito o no, los números de estado, mensaje de estado. Entonces hay detalles, es decir servidor de fecha, y luego este contenido tipos de tipo de contenido. Ya que en nuestro caso, en nuestra programación, enviaremos, enviaremos un formato de texto sencillo. Enviaremos un mensaje sencillo, no enviaremos la imagen del servidor al cliente. En respuesta, estamos mencionando su tipo de contenido para ser texto HTML, lípido era una imagen, entonces fue diferente. Él tenía Estaremos enviando simplemente detecta como respuesta de servidor a cliente. Esa es la razón sin embargo. Este encabezado que estará ahí y será enviado del servidor al cliente, será endoderm. El tipo de contenido será texto, HTML, y el len, sean cuales sean los bytes de datos aquellos sedimentarios tienden a declinar en sus enlaces que tenemos que mencionar aquí. Entonces una línea en blanco que es un poco y este cuerpo, este cuerpo, estaremos enviando el mensaje de servidor a cliente por lo que necesitamos tensión. Puedes pasarte. Se puede entender que esto es agua. Esos siempre han mandado al cliente. Y luego obtendrás la página cargada. Entonces moviéndose a lo siguiente. Entonces aquí, todo está aquí, como en la sesión anterior sobre este sistema operativo Linux. Cuando hayamos hecho la comunicación para el cliente del servidor TCP, qué, lo que se requerirá para el cliente del servidor HTTP aquí, si se compara con la sesión anterior se reunió y hemos estado matando santidad sistema operativo para la línea de servidor TCP. No hay mucha diferencia en este HTTP sobre comunicación digital porque él ensamble, hemos sumado los estolones. Tenemos que dar el mensaje. Si enviamos un mensaje, debe ser de este tipo. Es decir, debería estar conteniendo el cuerpo Hadean Haydn. puede ver que debe contener el encabezado. Este encabezado. Esta es la visión diagramática. Como se ve así. La versión entonces el número de estado del mensaje de estado y todos estos detalles, tipo de contenido, contenido, Lin, línea en blanco y luego cuerpo. Entonces esto tenemos que escribir en nosotros nuestro código. Por lo que aquí estaremos escribiendo solo el código del servidor mientras que el servidor HTTP, no necesitamos escribir el código del cliente. Mientras hace esto o programando. Cliente sólo tenemos que dar un link en el router lo adeuda y en el lado del servidor hay que escribir este código y tenemos que enviar este mensaje. Y granjero, no me cuerpo, lo que he mencionado en este diagrama. Cuando el servicio, Esto quiere escalar, debería significar este más cálido. Esto es sólo una modificación. Si hay que lograr esta comunicación Instituto, tan bueno inclinado, por lo que hay que añadir este mensaje extra. Lo que vamos a hacer así como comparar con la sesión anterior para el cliente del servidor TCP, ¿qué es lo que debes beber línea era simplemente enviando un mensaje al servidor. Aquí, ¿qué pasará? Si compara ese programa con este mensaje HTTP al servidor en términos de URL. Y entonces eso será internamente, será en términos de formato de encabezado, debió haber cubierto en la sesión anterior para entender el concepto de esto. Entonces ese servidor asciende entonces dijo sobre disponible. Entonces envía un mensaje en un video que data el mensaje del sitio del cliente disponible. También escribe el mensaje en el socket. Entonces esta es nuestra modificación y qué mensajes serán de este tipo? Eso es de este formato. Eso es densidad de versión de protocolo HTTP, este número, números de estado, mensaje de estado, y luego tierra de contenido, cuántos datos está transfiriendo desde la línea tomó solar entonces el tipo de contenido donde hay exceso de GM y luego cuerpo. Entonces se puede ver slash y eso es una línea en blanco, cuerpo y cuerpo. Sí. Hola, por cualquiera que sea el mensaje que sea lo que esté escribiendo aquí se pasará al cliente en respuesta. Entonces esto es algo extra que estaremos agregando para el servidor HTTP o cliente si se compara con la programación anterior poliniza en donde la FDA, PCP varios nueve y molestan a todos los barcos. Lo mismo si comparaste en el que hemos seguido en la sesión anterior. Ahora empecemos a programar fealdad usando el lenguaje C como yo para llegar a través del sistema operativo Linux. Sistemas operativos Unix. Así que espero que por fuera he tenido en este dominio o simplemente nos estamos moviendo al código que ya he escrito. El código es un código para HTTP. Sólo un segundo. Déjame hacer las cosas con el género. Se trata de tablero de patio para el servidor STDEV. Desde que te dije sólo tenemos que escribir el código lo que lado a lado, no para el lado del cliente, lado del cliente, presumiblemente estamos dando un enlace. Es decir, como ya he mencionado, se termina con es indigente $127 punto uno, y el número de puerto, eso es un 018. Informará que el cliente informará a la misma máquina host local que tenía en el servidor se está ejecutando y la misma variable número de puerto. Entonces, ¿cuál es el mío también? Déjame abrir esto. Como te dije, ¿cuál será la diferencia? Si comparas, si has visto el sistema operativo Linux, estos archivos de encabezado a través del uso de la programación de socket modelo. Esta es una función principal que es la entrada para iniciar una ejecución de su programa. Todas las cosas que son repetitivas, es decir, de nuevo, están en el Linux. Te dije esta función socket, que estaremos llamando en primer lugar, posts y argumento será esta familia de direcciones de Internet. Segundo argumento stream data que es un tipo de socket. Y tercero, grupo de abnegación bien, es igual a 0. ¿ Qué volverá? Devolverá el mango socket Vamos servidor. Y aquí será de tipo y comenzó caso de Linux. Esto es lo que la luz del instructor se utiliza para llenar los detalles para que el servidor de nuevo, qué dirección IP y número de puerto. Entonces tuvimos esto, nuestros cuerpos compran en él también, particularmente por dirección IP y número de puerto y esta estructura podemos sentir un poco atrás detalles dirección IP y número de puerto. Tienes bastante aquí en estas tres líneas, puedes ver ésta. ¿ Dónde llamas a la función mía? Estás pasando este mango del zócalo que llegamos aquí y estamos analizando esta estructura. Y entonces estamos llamando a escuchar, escuchar. Te he dicho que esto es un zócalo, es un mango y este 0. Eso significa cuánto número de conexión de línea debe haber en la cola de espera. Por lo que no queremos que nada lea en la lectura que 0 V daño hecho. Puedes multiplicar dependiendo tu requerimiento y el número de pedido que hizo con razones que estamos haciendo X GTP recomendados miembros de la junta de comunicación. Lo hemos hecho como mío a este número de puerto. Entonces adicionalmente, si hablas como PIB por HTTP, ya que te he dicho este mensaje extremidad va a estar enviando desde el lado del servidor en nuestra sesión anterior. Ya que hemos cubierto qué servidor TCP y comunicación, sólo aquellos tableros que comen lo que el cliente sienta. Por lo que puedes hacer cualquier complicación que fuera una herramienta de comunicación de canto donde también puedes enviar desde el sol fue desde el lado del servidor. Y también puedes hacer leer y escribir en el lado del cliente, recto, dependiendo de tu requerimiento. Aquí, nosotros ya que sea lo que sea que el cliente les envíe un mensaje, le daré respuesta. Y esta respuesta, debe ser en cuanto este encabezado y cuerpo. Por lo que te expliqué en la presentación sobre así y también los detalles para híbrido y más. ¿ Pueden pasar por las pocas sesiones que escuché antes de la cual he cubierto entendiendo qué es el PIB, varias comunicaciones con clientes. Se puede pasar por esa sesión. Eso es común para Windows y polynom. Aquí está lo que no está enviando el mensaje, este mensaje de Dios inicializando con este valor. Eso es HTTP 1.1 no sabe estado, número de estado, mensaje, luego éxito uno contenido bajo demanda. Cuanta longitud es, 47 y luego tiempo de contenido ahí está, es un humano. Entonces en barra y hay una nueva línea, hay una línea en blanco, y luego estamos pasando este mensaje. Pero este es el servidor de bombo al lado del cliente. Este mensaje aquí, lo que antes, cuando lleguemos aquí, entonces enviaremos este mensaje más tarde. Me enviaremos como simple conexión desde el sitio cliente archivos de nuevo la tangente socket y luego esta estructura. Y luego obtenemos nuevo, nuevo mango de socket, nuevo descriptor de socket. Entonces este descriptor de socket que es nuevo se dedicará a la operación de lectura y escritura con eso en la línea. En tanto que los individuos de socket regresen aquí se dedicarán a conectarse con esa línea. Entonces esto es lo que, y luego esos tristes lo que está leyendo sean cuales sean las líneas y el mensaje que es ascendente o URL, eso es uno-a-muchos, $7.010 punto uno y los viejos números, para que enlace que es un local o el orden con ellos enlace nos va a enviar un mensaje se convertirá en paradata formal en realidad, y se reportará, se pasará al servidor y sobrino y vas a estar recogiendo aquí en el número cuatro, simplemente puedes imprimir este buffer en el lado del servidor para que consigas todos los datos en crédito formal qué clientes y al servidor-1 me dan el link en el Firefox. Pero también entonces en el revés arma, que enviará una respuesta. Para que puedan ver que hemos escrito este código extra aquí. En comparación con la escritura de código anterior, estamos llamando a la función correcta desde el lado plateado mediante el análisis este mango descriptor en el socket, este mensaje en realidad y cuando mensaje aerodinámico, este mensaje es el mismo mensaje que hemos visto. Ahí está este mensaje, este mensaje en descender del servidor al cliente en respuesta. Se puede ver que por lo tanto estamos llamando a la función correcta desde el lado del servidor, procesando el manejador de socket y este mensaje. Y luego estamos comprobando errores. Esto se deforma cómo se lleva a cabo la comunicación. Así que compilemos el código y demos un enlace en el navegador o Firefox y veamos qué pasará en el lado del servidor. Permítanme publicar puntuación compilada por, ya que estamos escribiendo el código que sería GCC HTTP server socket dot c. se puede ver aquí se crea un dot out, solo ejecútelo. Para que puedas ver en la parte superior Qué es la idea de escuchar para las conexiones entrantes. ¿ Qué es escuchar para la conexión entrante? Ahora lo que vamos a hacer, tenemos que publicar siempre el lanzamiento de nuestro servidor. Y luego tenemos boo-boo que las comunicaciones del lado del cliente, eso es en el navegador aquí usaremos Firefox. He hipervinculado $127 punto uno y el número de puerto. Y luego en dentalmente, agregó lo que el cliente que hemos hecho en el lado de aplicación, lado cliente, este cliente enviará una solicitud a las saccadas informadas acera. Entonces cualquier siniestro descendente enviará una solicitud al servidor que estaremos leyendo desde en el servidor. que puedas ver el mensaje impreso en el servidor, qué cliente está enviando en formularios Al-Qaeda y el servidor enviará un mensaje al cliente. Y se puede ver cómo se cargará el navegador, la página con ese mensaje como whatsover enviado en respuesta a declinación. Veamos uno por uno. Primero, déjame abrir eso. Se ensancha en Firefox en el sitio de la aplicación. Se puede ver cómo este juego de mensajes en el lado de la aplicación, en el lado del cliente, centro de acera de agua. Volvamos a la terminal y veamos qué se imprimieron todas las cosas en ambos lados. Por lo que podemos ver aquí lo que pasó post para los llamados desde el lado del servidor que tenemos o hemos ejecutado esta aplicación de servidor. Corre, tenemos R1, lo siento, el lado del servidor, eso es esto. Recibimos este mensaje escuchando para la conexión entrante. Entonces del lado cliente hemos dado este enlace que es 127 punto un colon t Así que nada estaba muerto y la playa, fue sólo este lío. Este link que hemos dicho, hemos dado en este Firefox, ese es el lado de la aplicación, del lado del cliente, este link, que es de este mensaje, Dios, dios envió del cliente al servidor en crédito formal. Y luego NACADA, tenemos nuestra rehabilitación impresa en el lado del servidor. Para que puedas ver que esto está oscuro. Este es el encabezado en realidad en nueve estados. Todo esto se dirige. Este es un encabezado ¿qué cliente? Cliente al servidor. Por lo que eso está por delante de este formato, ese es el agente de usuario host y existen y todos estos detalles. Entonces si tienes que conocer este detalle de qué respuesta de encabezado desde el cliente al menú del servidor le dan algún enlace sobre esta pelea o falso pero opuesto. Y vas a la sesión anterior que está entendiendo pegajosa ser una comunicación de cliente de servidor de fiesta, estás pasando por esa sesión, pero un inexplicable sabía lo que todo encabezado contiene de regresos y de cliente a sitio y qué respuesta son no era verdadero cliente en términos de encabezado y cuerpo. Para que puedas pasar por esa sesión. Espero que te hayas ido y vas a pasar secuencialmente todas estas sesiones. Esto es lo que obtienes del cliente, terminará entonces en respuesta desde el lado del servidor ya que estamos enviando el mensaje del lado de nuestro código, los hemos escrito y programación de socket de aprendizaje seguro , por lo que se envía al cliente. Y esto es lo que vemos aprendiendo programación de socket. Esto es lo que hemos hecho con esta comunicación. Comunicación del cliente Http. Lo hemos hecho en este sistema operativo Linux usando la lectura de lenguaje C hay que escribir a cada lado de nuestra placa. Ahora. Gracias. Ya terminé por esta sesión. 19. Sesión de socla 12 de bloqueo no bloqueado: Hola amigos. hoy estaremos viendo sobre bloqueo así como los enchufes no bloqueantes. ¿ Cuáles son las ventajas de usar estos enchufes? Además estaremos viendo el uso de select. Lo que este selecto y cuál es su importancia será un anillo estas cosas en sesión de arte así como cuando veamos cómo lograr comunicación de servidores multilínea en Lena's usando el lenguaje C. Empecemos uno por uno. Bloqueo así como los enchufes no bloqueantes. Modo de bloqueo y no bloqueo. En caso de la toma. El zócalo puede estar ya sea en el modo de bloqueo o puede significar no bloqueo. Más sobre el modo de bloqueo post el modo predeterminado de la llamada socket está bloqueando soul. En mi entrenamiento, te he explicado cómo crear socket. Hemos visto que cuando encontremos más del zócalo que se crea será el cubo. Eso significa qué, ¿ qué es el bloqueo? Llama a eso c. Entonces supongamos considerar que estás llamando a la función. Entonces dy dt es yarda bloqueando carbón. Entonces puedes realizar esa lectura en tu socket. Siempre que estén los datos estoy en la factura de su socket, entonces solo poder realizar la operación de lectura desde el socket. Entonces en ese caso, si eso no es un policía no está en el socket, ¿qué pasará si estás llamando a una función? Obviamente, tiene que esperar a que los datos lleguen al socket para que pueda realizar la operación de lectura. Entonces esto es hombres, no hace falta esperar. Entonces estás haciendo el soporte de bloqueo de llamadas. Es violar. Esperará hasta que los datos entren en el zócalo para que pueda realizar la operación de lectura con éxito. No está regresando de inmediato. Se trata de código de bloqueo. Eso significa, supongamos en tu programa que lucho líneas de instrucciones y que estás realizando algunos pacientes y en medio estás llamando a una función. Se comprobará si los datos están disponibles en el zócalo. Sí, entonces se leerá desde el zócalo y volverá a la hora de acostarse misma. Pero si no hay datos en el zócalo, esperará el medicamento. Por lo que en el momento esto bloqueará lo que operaba en su programa. Esto es lo que pasa con el código de bloqueo? Entonces este es uno de los ejemplos que te he explicado que se trata de una llamada de bloqueo. El ejemplo, el mismo ejemplo que te he dado, que te he explicado ahora en detalle. Es decir, si realiza la lectura golpeando, no regresó hasta que la carne como disponible en el zócalo para ser roja. Todo esto se trata del modo de bloqueo. Así que veamos lo que es el modo de no bloqueo es una sola línea nueve definición. Es decir, estas funciones lo montan inmediatamente en el modo de no bloqueo, y usted está llamando a la función de lectura. Entonces, ¿qué pasará si no hay datos en el socket? Aún así, no va a esperar. Volverá de inmediato, es decir datos, entonces leerá los datos y devolverá un tiempo muerto. Con independencia de si los datos están presentes en el zócalo. Es funcionalidades, no va a esperar. En realidad, no hay datos, volverá de inmediato. Esto es cuando haces, tu socket es el modo sin bloqueo. En ese caso, regresará de inmediato sin esperar a que se complete un par. Este es nuestro modo de molde y no bloqueo. Entonces entendiste sobre el modo de bloqueo y el modo de no bloqueo. Ahora veamos acerca de cómo lograr la comunicación de servidores multilínea. Y así es como cubriremos todos y todo lo que hemos declarado en la primera diapositiva. Cómo lograr la comunicación de servidores multi-cloud. Entonces lo que nosotros, lo que estamos haciendo, así como sabemos, la forma sencilla de manejar los múltiples clientes multiplicadores es simplemente engendrar un nuevo truco. Pero cada nuevo cliente conectado al servidor, ya que sabemos que solo hay un servidor y luego en múltiples clientes. Entonces el doctor con un solo servidor, que puede ser cualquier número de clientes. Entonces en caso de los múltiples clientes, la forma sencilla que tenemos de hacer la comunicación entre el servidor y el cliente es lo que hacemos. Creamos hilo para cada nuevo cliente que está conectado. Entonces, ¿cuál puede el problema con este enfoque? Crear un nuevo hilo para todos y cada cliente que intente conectar con nosotros una vez y somos uno de los problemas puede ocurrir. Veamos el detalle en la célula de orina. Este enfoque no se recomienda debido a lo siguiente decidir andar marcha marcha. El primer inconveniente de crear el hilo para cada cliente de restricción para conectarse al servidor es, en primer lugar, sabemos en caso de las amenazas que son difíciles de codificar, también como depurar, y a veces tienen resultados impredecibles cuando todo, todo esto se trata de la amenaza. Entonces este problema que, o qué cabezas alcanzando contextos. Entonces, ¿qué significa? Significa que supongamos que estás tratando con un hilo y ahora tienes lidiar con otro hilo en ese momento. Por lo que tendrás que cambiar de un hilo a otro hilo encontrar x, por lo que hay una sobrecarga. Por lo que se toma un tiempo para cambiar de un hilo a otro. Entonces esta es la segunda desventaja de usar la rejilla. El pensamiento o desventajas es que no es escalable para gran número de plantas o qué pasa si hay algún número de líneas realmente en ese caso, esta voluntad, esto no es un manera visible suficiente para crear un hilo para todos y cada cliente para que tenga una comunicación entre con este óvalo. Y también el problema viene en punto muerto. Deadlock significa siempre que múltiples quieren la misma pérdida, por lo que muchas amenazas múltiples quieren el mismo bloqueo al mismo tiempo. Y ese es el punto muerto ocurre. Entonces esto está encendido, estas son las desventajas con el uso de los hilos en cada plano comunica con la pared celular. Entonces esa es la razón por la que conocemos nuestro objetivo para este enfoque de crear un hilo para todos y cada uno de los clientes. ¿ Cuál es la siguiente cosa que podemos intentar realmente superar con este hilo? Si bien estas desventajas operando el hilo, lo siguiente es, no selecciones con, para hacer un selecto llamadas. ¿ Y qué es este objetivo selecto? ¿ Cuál es su propósito y el uso? Veamos todos y todo en detalle sobre la llamada selecta. Y luego más tarde estarás viendo cómo Mónica seleccionar llamada. Y también veremos el programa y ejecutado n Así que mejor manera de superar con este tema hilo de película es por compañeros seleccionar función. Entonces veamos cómo el uso de la función select. Por lo que tenemos que seleccionar función un conjunto de enchufes que queremos leer, dependiendo de cuál sea el parámetro de timeout s ellos, todos. Es cuando termines casi de inmediato con un conjunto de esos enchufes están listos para ser leídos. ¿ Qué significa? ¿ Qué significa esta definición? ¿ Qué vas a hacer? Entonces hay una función de selección. Estarás llamando a una función de selección. Por lo que te explicaré en detalle por delante cómo hacer uso de esta función select estará pasando la configuración, los enchufes de los que no nos leeremos. Entonces éste es uno en el examen que así supongamos que quieres realizar la operación de lectura en tomas diferentes, diferentes. Por lo que está teniendo la lista en realidad modelos de tomas en lo que todos los enchufes están ahí en donde hay que realizar la operación de lectura en ambos enchufes. Por lo que pasarás la lista de esos enchufes y no seleccionarás la función. Además también mencionarás el tiempo de espera. ¿ De qué se trata este tiempo de espera? Esta demo es como, supongamos que describirás algún tiempo en este tiempo de espera. Ese tiempo en realidad la función select será de fábrica para nuestro n monitoreará todos aquellos de los enchufes que hayas dado en el monitor de función select. Hasta ese tiempo fuera. Ya sea entre eso no consiguió marco de tiempo. enchufes han recibido algunos datos en cualquier día, reciben en cualquiera de esos enchufes que usted haya dado en esta función de selección. Entonces volverá en realidad con todos esos enchufes que mencionaste, que está teniendo sus datos para ser leídos. Entonces esta demo se da aquí hasta que ese clima de tareas tenga que esperar. Supongamos que está dando el tiempo de espera de treinta segundos. Estás dando, dando este socket realmente en el árbol de análisis de funciones de selección. Por lo que todo tipo de los enchufes en los que se desea realizar una operación de lectura y le han dado los segundos de tiempo de espera. Por lo que dentro de este partido segundos, serán 40 segundos, máximo treinta segundos. Y verá en realidad cuál de estos enchufes está recibiendo cualquier plazo de patente de fecha. Se reciben más datos dentro de ese marco, entonces volverá. Este tiempo de espera ocurre. Pero entre este tiempo de espera, antes de 30 segundos en sí, algunos de los enchufes han recibido datos, por lo que regresará en realidad cuando se produzca el tiempo de espera, volverá con todos esos enchufes, que es pesado en ese zócalo para que pueda leerse. Entonces espero que hayas entendido lo que te explico. Una vez regresa con todos esos enchufes que están teniendo los datos presentes en el socket. En ese caso, se puede realizar inmediatamente una acción. Puedes realizar de inmediato una operación de lectura, ya que sabemos que los datos están disponibles en ese socket para que ese tiempo no necesites leer. Este es el propósito de la función de selección. Así es como logramos el alma. Y el detalle sobre esta función de selección Omics estando aquí también. Así es como hacer que el detalle cómo usarlo. Qué todos los argumentos esta función de selección está teniendo. Hasta ahora, es difícil. Todo lo que tenemos VI en lugar de cargar los tres sets. En este uso, te he explicado sólo sobre el uso real del select es fin de semana pasar los tres podemos cargar los tres sets. Un conjunto será para el otro conjunto será para la derecha, y el análisis será para la siguiente sección. Entonces, ¿qué es este conjunto? Estos son los conjuntos, eso significa que estos son los descriptores de archivos. Simplemente se puede decir que los conjuntos significa que la lista descriptores más fuertes. Puede borrar la lista de descriptores en donde se tiene que realizar la operación de lectura. Quién puede crear la lista de los descriptores que has tenido y tienes que realizar la operación correcta y la lista de descriptores para la excepción. Por lo tanto habitación. Supongamos que mencionó cinco sockets en realidad descriptores lista en los descriptores de archivo cuando se tiene que realizar la operación de lectura, hay que monitorear la operación de lectura había estado en cualquiera de estos tomas de pipa, cualquiera de ellos tiene que engañar a dos ordenanza cualquiera de ellos en cualquiera de ellos han recibido la fecha en la misma para que puedas realizar. No predicas en como leer solo los líderes descriptos en este problema. Porque mencionaste que tienes que realizar la operación correcta en el zócalo. Y otro descriptor de parte establecido para la excepción. Si vas a pasar estos, estos tres conjuntos en tu función select, veremos en el propio programa, te hará cómo usarlos. Esta es solo una descripción antes de iniciar el programa, escribir el programa y ejecutarlo, solo estamos buscando en realidad múltiples cosas son requeridas por llamar a la función select. Y es un factor muy importante para lograr una comunicación de servidor multilínea para un día más amplio decidido. Por lo que crear un hilo para cada conexión cliente actuará sobre el alma. Estas son las tres cosas que se requieren restablecimiento. A continuación lo que está mencionando sobre el Select, se pondrá a prueba esos socket, es lo que sea. Entonces sobre los enchufes, te dan estos tres sets. Se le dirá a los enchufes y le informará y le informarácuál está listo para esas operaciones. Eso significa que los conjuntos que mencionaste te dan auditar tu función Select. Estos leen, escriben una excepción. Por lo que estás dando la lista de descriptores de socket en donde quieres realizar estas operaciones y también estás dando un tiempo de espera. Verá que mueren dentro de ese tiempo de espera, si alguno de estos enchufes está listo para la operación de lectura y los enchufes que usted ha mencionado en el conjunto descriptor está listo para, ¿verdad? Está listo para excepciones. Entonces, por último, la función select, volveremos con esos enchufes. Estoy listo para realizar estas operaciones. Espero por lo que entendiste este punto y esto te hará más claro una vez que empecemos a escribir un programa, entonces lo siguiente de la función select es y esa información, entonces podremos procesar el tomas que están listas sí, e ignoran el resto del tiempo. ¿ Qué significa? Significa que C, estás analizando alguna lista de socket de los descriptores. descriptor del zócalo es realizar la operación de lectura, digamos orden phi del socket. Los descriptores de socket que estás analizando, operación correcta y no estás pasando nada por la excepción, supongamos que estás pasando null. En ese caso. También estás mencionando que estoy afuera en un minuto. Dentro de ese minuto, que todos los descriptores están listos. Cuando hablo de listo, significa que esta es una operación de lectura. Entonces obviamente debería haber un dato en el socket. El zócalo, estaremos listos para leerlo. El tiempo de espera que usted mencionó en realidad el tiempo de espera que monitoreará en realidad todos esos conjuntos de descriptores. Estoy listo para la operación de lectura. Ya tenemos operación de escritura, por lo que no lo hizo cada uno en ellos y va a devolver realmente información. Por lo que hablamos de lo mismo, entonces significó que la información podemos entonces procesar la información de los enchufes, que uno está listo para leer, escribir y todo termina en ambos casa la operación de los mismos leyendo finalmente fuera de escribir finalmente, así que eso es lo que está diciendo. Procesar los que ya e ignorar eso. Empecemos y tenemos que ignorar el resto de lo que ya está hecho. Al procesar selectivamente los enchufes ni siquiera se bloquean. Por lo que en este caso no vamos a ser bloqueados porque tiene seleccionando selectivamente sólo esos enchufes, que ya la forma polar. Por lo que tenemos que esperar sólo el tiempo es que has mencionado en ahí tiempo de espera en paz de la función select, veremos el detalle hasta ese momento solo necesitas esperar realmente, y lo que le dé a los descriptores que ya se tiene que realizar la acción al respecto. Tienes que ir por ella En realidad y evitar usar el hilo, que es una gran sobrecarga usando el hilo que hemos visto en la diapositiva anterior. Ahora, este es un nodo abajo a ti, así que ese es un parámetro de timeout. Por lo que se trata de la función de selección en hay una demoed, pero en caso de que se requiera la función de selección por este demoed por diámetro y seleccione la función. Se requiere controlar la cantidad de tiempo a leer para la acción. Toma de soporte lista para ser leída. Significa por el modo STI, por diámetro se requiere en la función de selección. Será justo, se requiere para que tengas que esperar esa cantidad de tiempo. Los descriptores que le diste a tu conjunto descriptor, conjunto descriptor que le das, tienes que esperar realmente hasta el tiempo de espera que no hayas mencionado y has percibido si uno de ellos es listo. Hasta ese momento lo tienes, hay una razón para permanecer en modo tan importante. Entonces así es como controlas en realidad la cantidad de tiempo que necesita esperar después de este tiempo se obtiene. Entonces lo que devolverá el trombo lista. El guión sabe cuál ya cuadrático, cuál ya leí y todo eso detalla. Ahora bien, esta es la definición real de la función select, cómo usarlas. Entonces esto es, esto es sólo una declaración aquí se puede ver int select y estos argumentos están presentes aquí. Entonces, ¿cuál es el primero y un humano? Se puede ver en los medios que es un entero de tipo de datos n MDS. Aquí he descrito los detalles que veremos aquí. Como te dije, las oraciones descriptivas son descriptores establecidos para. Eso es conjunto de FD. Este es el tipo de datos en realidad apuntado conjunto vacío tipo. Este descriptivo satisface para fines de lectura. Este conjunto descriptivo es para fines de escritura, y este conjunto descriptivo es una excepción, propósito. Y este es el valor de tiempo de espera final que hay que devolver a la cantidad de tiempo que necesita leer y de hecho proteger cuál de los descriptores de estos conjuntos realmente son listo para la operación. Ahora veamos uno por uno sobre estos argumentos que hay que pasar. Sus detalles de argumentos de datos están ahí. Entonces el primero es int y MDS, eso es éste, MPS. Entonces esto es lo que en realidad, este es el descriptor de archivo número más alto en cualquiera de estos tres conjuntos más 11 valor que tendrá. Entonces esto es ante todo, ya que te estoy explicando, el sistema operativo Linux, porque los selectores utilizados para el Linux, también se usa para el botón de Windows. En caso del Linux en realidad tendremos este argumento extra que es NDF y NMDA se cumple en. Significa en realidad qué valor tendrá. Ya que tenías que tener esta lista de estos descriptores para leer lista de descriptores para TI. Y chocemos con este script primera excepción. Entonces en éste estaremos teniendo un valor mayor más uno. Te darán esto. Y el NMDA es descriptor de archivo. Entonces lo que está diciendo, el mayor número del descriptor de archivo en cualquiera de los tres conjuntos más mark. Lo habitual que solo se puede pasar FD set size como el valor de este argumento en realidad, porque esta macro te dará todo el valor que es gran número de descriptivo dicho más uno. Esto es sobre esto, como te dije, esto es para el sistema operativo Linux, este argumento extra está ahí. Pero en caso de las ventanas, este parámetro es ignorado. Eso es n AINE HDFN. ¿ Por qué se ignora? Debido a que estos son los conjuntos descriptivos, el conjunto que es el tipo de datos IED subrayan sec. Por lo que en caso de las ventanas, este FD se estableció, luego la mitad de los enchufes, así como el número de tomas. En realidad. Por lo tanto, ya que este conjunto vacío en caso de Windows está teniendo los detalles sobre el número de los sockets y por lo tanto este argumento que no será ese incaso de ellos en aquellos es que sólo en el Linux. Porque en caso del Linux, sólo este valor se mantiene debido al conjunto vacío en realidad, que veremos qué hace esto al menos, y este es el tipo de datos del conjunto descriptivo. Esto no tendrá sus detalles de número de enchufes. En caso de Linux que acaba de seleccionar la función es tener este detalle realmente aquí. Pero en caso de las ventanas podemos ignorar esto. El ser humano es ignorado porque el número de enchufes se describe en cada conjunto en realidad. Por lo que este detalle, veremos una cabeza. Se trata de una defensa. Recordarías que en caso del Linux, este es el argumento, argumento extra, pero la ventana MBSR, esto no está presente. Quiero decir, volvamos a ese argumento. Entonces terminamos con el primer argumento. Veamos al otro humano. Para humano hace cada puntero conjunto, el puntero al centro de los zócalos a verificar la legibilidad. Aunque estoy viendo una opción en el punto. Así que recuerda siempre, no es necesario que tengas que pasar este valor. Además, hay que pasar este valor, hay que pasar este recinto para que pueda, no es compulsión en realidad. Por lo que puede suceder en realidad, usted está teniendo con este valor que se pierde en este script va que se reunió y hay que monitorear para la operación de lectura. Este valor puede estar ahí, pero esto no lo es en realidad. Y esto también se derrite y esto puede suceder en realidad. Entonces incluso esto puede ser nulo en realidad. Y se puede tener el valor del número de descriptores cuando se tiene gente que salga a la luz operación encendida , esto va a ser nulo. Estas dos cosas pueden estar ahí y esta rosa caliente y por lo tanto son las mismas. Esto es algo opcional. Uno de ellos debe establecerse en realidad. No puedes ponerlos como ninguno. Entonces esta es la cosa. Esto es lo que un opcional apuntó a un conjunto de enchufes a revisar para AWT, ya que le dije lo mismo como esto es lo que creo que títeres y puntero gordo opcional a un conjunto de los enchufes se pueden revisar cuerpo. ¿ Qué lista de los enchufes que quieres revisar, verdad? El habilidad de nuevo, excepción, sé 10 era enchufes de configuración para ser revisados en condiciones excepcionales. Muy último argumento que es el tiempo de espera. Esa es esta estructura, el puntero a ella, eso es tiempo o ¿Cuál es el propósito de la misma? Como te dije, la tarifa máxima o nula, o bloqueo o paciente. Sin embargo está diciendo así supongamos cuánto tiempo quieres esperar, en realidad la función select, tengo que esperar hasta ese momento. Esperará en realidad, y monitoreará los descriptores. Estos descriptores que usted mencionó, usted monitorea para que ocurra el evento. Es decir, si lo es, vamos a monitorear la operación de lectura si es un puerto de monitor ideal, ¿verdad? Si se apoya me monitoriza palomitas de maíz. Pero hasta el tiempo que hayas mencionado en tu tiempo de espera, una vez finalizado este tiempo de espera, volverá si no hay hasta ese momento. Si no hay descriptores saben enchufes listos para la disfunción anual y es demoed es o lo que va a devolver. Valor nulo. Volverá diciendo que ninguno de ellos está listo, y luego volverá. Esto se trata de eso. Pero si pasas, si estás directamente no des ningún valor en caso del tiempo de espera que acabas de mencionar como nulo. Eso significa que está diciendo que simplemente será seguir esperando en realidad si pasa este menú como analítico, simplemente lee cualquiera de estos descriptores, esos enchufes están listos para cualquiera de los funciones. Por lo que también puede ser sangría, tiempo indefinido, tiempo infinito si no hay datos presentes en el socket, nada que escribir en el socket, nada, no tales cosas. Por lo que seguirá leyendo y leyendo si pasas este valor como nulo, pero si pasas algún valor y ese tiempo, hasta ese momento volverá a la y luego se agotará. Pero si pasas como nulo, seguirá esperando. Entonces esto es lo que está diciendo aquí. 20. Sesión de socla 12 de bloqueo no bloqueado: ¿ Cuáles son los detalles sobre la función select y qué devuelve? Lo mismo que es, ¿qué regresa? Entonces un tono auditivo. ¿ Qué significa? El número total de enchufes que están listos. Entonces si devuelve una auditoría mayor que una, eso significa ¿cuántos descriptores de fútbol están listos? ¿ Cuántos enchufes están listos? En realidad, le dará ese valor. Si devuelve 0, eso significa que el límite de tiempo ha sido expirado y hasta ese momento no hay enchufes para los que estamos listos. Devuelve menos uno. Eso significa una edición, una tarjeta deslizar algunas Edit Artboards, luego devolverá menos uno. Entonces estas son las cosas que puede devolver y esta es una posibilidad, pero cada una de ellas, en consecuencia, se lo puede decir. Puedes registrarte ventana, en Windows, en socket de viento, este valor de retorno será socket. Utilice la función aplicable para identificar el error real. En caso de las ventanas, este será de este tipo socket y el error cuadrado, esto solo para distinguir entre, este es uno en el que estoy describiendo y simplemente distinguir cuando no lo hizo Windows He escrito extrayéndolo en caso de que todas las ventanas este editor esté muerto. En también puedes llamar a esta función w y decir Get last error para obtener los detalles sobre la edición, devuelve un error. De acuerdo, entonces este órgano entendió editor en Windows. Ahora, para hablar de los detalles sobre esto, cada segundo guión bajo, aquí estamos usando completamente un preset. Se puede ver aquí esta vista WAS, es el puntero de tipo de datos al conjunto de subrayado MPI este escritor VS también datatype puntiagudo van a subrayar establecer también un puntero de excepción a la obesidad. Entonces, ¿qué hace esto alguna vez ser subrayado seg, como lo hago en tus descriptores de archivos de escritorio. Veamos detalles al respecto. Ahora. En caso de la Unix, en caso de las minutas que se establece FD, los otros remolinos binarios. Eso es en caso del viento, la canción del viento. Eso significa que en caso de ventanas, estos enchufes, en caso de las ventanas, este conjunto vacío significa las otras estructuras. En caso de Windows, papá contendrá el área de los enchufes así como el recuento de número de los enchufes, como te dije en las diapositivas anteriores en realidad que en caso de que cuando llames a la función select, el primer argumento es sobre éste. Naids en donde no pasará en caso de las ventanas, esto no es necesario porque este número acaba de mencionar de los enchufes ya que no se requiere en caso de Windows dispuesta argumento porque el razón este conjunto FD, que es es dicho que tendremos, tendremos la estructura que contiene el área de los enchufes así como contendrá el conteo de número de tomas. Por lo que este parámetro que es número de sockets ya está ahí en este conjunto vacío en caso de que los esfuerzos de windows no se requieran. Cuando se llama a esta función de selección. En caso del Linux, estos son los conjuntos serán simplemente un arrays binarios. Es decir, en el caso de Windows. Será la estructura que contenga tomas aéreas así como contienen el conteo de número de tomas y papi. Cosas buenas cuando presentamos. Esta es la diferencia entre el unix y las ventanas en caso de Burdeos y reset. Y esto es lo que he mencionado aquí. Ese contador valora esta razón vibe en sal ignora el primer parámetro de este select, que te dije que en caso de socket Devin, el primer argumento, que es que se ignora el select, el no requiere porque estás en un reinicio. Se menciona bajo profundo almacenado en ellos dijo, lo cual he explicado, ya sabes, detalles. Esta línea, estas tres líneas de los Estados se apilan. Así que ahora veamos más en los detalles para estos conjuntos vacíos. Estas son las macros que solía trabajar con estos conjuntos. Entonces te estoy explicando todas estas cosas en realidad porque realmente no estaba escribiendo el programa usando la función select, que es muy importante como te dije, que con el fin de superar con esta auricular multihilo, preferimos usar el select. No necesitamos esperar mucho tiempo para el tiempo de espera. Muchos tenemos que leer y es muy visible porque va a estar cumpliendo con su tiempo. Y se puede entender por qué la definición que dice, ya que estaremos usando todas estas cosas en nuestro programa, el núcleo escribiendo un programa. Te estoy explicando todos y cada uno de los argumentos de esta diapositiva misma. Para que lo siguiente cuando empecemos a escribir el programa, será mucho Z. y estos no son el balance lunar antes de que esté empezando la prueba ahora. Estos son los microbios que están asociados con los conjuntos vacíos. Estas macro te encontrarás cuando escribas un programa, veremos que estoy usando todas estas macros. Entonces entonces llegarás a saber si estoy explicando detalle de orina porque somos humanos emitidos, haz uso de él en realidad llamando a la función select. ¿ Qué hace este tamaño de conjunto vacío que va a utilizar con ellos restablece. Es el valor de esta macro es el número máximo de descriptores de archivo que el objeto conjunto vacío puede tirar en la agricultura, al dar la información al respecto. Como te dije aquí mismo, que Este falso argumento en seleccionarte lo que será. Será número máximo de los descriptores de estos tres descriptores, ¿cuál está teniendo valor máximo más uno? Este tamaño del conjunto FD. Eso te dará por completo los detalles sobre éste. Eso es qué? Te dará por completo un número máximo de descriptores de archivo que el objeto conjunto vacío puede poner. Esto es lo que pasa con la macro habla en términos de conjuntos vacíos. Qué más macro se puede ver con respecto a una de los conjuntos F D subrayado 0. ¿ Entonces eso significa qué? Estás pasando este conjunto vacío. Esta macro inicializa los archivos un conjunto descriptivo, dos conjuntos vacíos. Por lo que simplemente inicializará su conjunto descriptivo en 0 y por lo tanto utiliza este guión bajo macro FDA 0 y conjuntos E. Estas son las diferentes macros dentro de los conjuntos que son guiones bajos vacíos conjunto de subrayados B. Hagamos CLR F, D subrayado. Establece un post-op, todas estas macros que están ahí. El propósito de este conjunto vacío es que está agregando esta lista descriptor de archivo de distribuida. Ya que sabemos que cada conjunto de punteros establece, significa que está teniendo la lista de descriptores, descriptores de fútbol. Y quieres llamar a esta función y estás dibujando, quieres agregar esto, podría haber conseguido este conjunto descriptor. Para que ese trimestre entonces llamarás a M-Pesa. Con el fin de agregar este descriptor invertiría lista en estos descriptores. Enfócate en eso y CLR, eso significa que tienes que aclarar en realidad este descriptivo que mencionaste. Simplemente tienes que eliminar ese descriptor, eliminar ese descriptor de ordenación de este script. Dije que es una razón por la que usted está llamando a MPI subrayado código CLR se envía. Significa que tienes que comprobar si este descriptivo, que no has mencionado, es que no hay en este descriptor set list sobre este descriptivo conocer lo inhumano final de la selecta este tiempo de espera éste, éste, esta función de selección. Entonces veamos por eso. Este selecto esperará la cantidad especificada de tiempo en los detalles para llegar, y luego finalmente se dará por vencido y regresará con el estado del socket. como te dije eso, esperará el tiempo de espera. Mencionaste el peso y el monitor. En realidad, si has dado el guión va a monitorizar para leer o para algunos descriptores para monitorear el pensamiento. Podría ser un puesto. Verificará todos aquellos descriptores que sean vendedor la radio o no hasta el momento que haya mencionado en esta demo. De no ser así, entonces se comportará en consecuencia. Entonces aquí hay dos estados que ahora señalan que el puerto selecto regresa antes del tiempo de espera. Datos incrustados, sólo se avergüenza ningún dato de lo que tomará durante todo el tiempo antes de regresar. Tipo de ver que una vez que se recuperan los datos, incluso si usted está mencionando que estoy fuera a ser 30 segundos. Pero si select está consiguiendo algo bueno, algunos de los enchufes que están Listos en realidad, en ese caso, no esperará todo el tiempo. Oh, yo la industria había mencionado que puede regresar antes de que ese tiempo se caducen. Pero si no hay datos, no hay actividad en ninguno de los socket. Se leerá por el valor de tiempo de espera completo cuál para ellos, y no necesitan Estados. Ahora si dijiste ese tiempo de espera para ser 0, si les das valor para ser 0. En ese caso, este selecto regresará inmediatamente con estos datos. Si mencionaste los ceros en su valor de camo en la función select, el último argumento que exige 0, y eso significa que no necesitas esperar, no quieres esperar. Tienes que regresar simplemente de inmediato. Por lo que simplemente comprobará realmente En simplemente llame a esa función de selección procederá. Ritual. Los descriptores están listos si en realidad no va a esperar, en realidad simplemente no lo hizo inmediatamente. Significa que si envías el parámetro demoed al null, en ese caso, simplemente seguirá esperando hasta que no encuentre ningún evento B ocurrió. En ese caso, no conduciría a la independencia, pero también estoy, puede ser, puede esperar un tiempo infinito si no hay, nada, no hay actividad en realidad, este dato de nodo. Si quisieras agregar presets de script para la lectura, si quieres escribir, no hay nada que no puedas tener datos para estar justo en el socket. Seguirá leyendo y leyendo. Esto es lo que sede es como un nulo. Y si amplías la demo será un tiempo distinto de cero mililitros. Si da algún valor positivo, valor distinto de cero, entonces el valor Seleccionar que no sea 0. Por lo que en ese caso esperará el tiempo que usted ha mencionado y será bloqueando por partido de muerte entre el tiempo de espera se acabe, volverá. Esto es lo que pasa parámetro de tiempo de espera en caso de la función de selección de puntos. Ahora bien, lo que este tiempo de espera tiene en realidad en detalle. Mencioné que también el tiempo de espera tendrá estas cosas en segundos y microsegundos. Esto es solo cómo usarlos. Entonces lo último que no es socket sin bloqueo para lograrlos declina la comunicación del servidor. En lugar de utilizar la función select, podemos hacer el socket como un no-bloqueo siguiendo la función diferente. ¿ Qué hace esta alma, ya que te dije que hay dos modos para el bloqueo del socket así como no bloqueo. Por lo que espero que hayas entendido sobre el bloqueo significa que va a leer realmente decir que el evento se va a estar ocurriendo. Por ejemplo, hemos visto en caso de la función roja, que si estamos llamando a la función de lectura, si el socket como un socket de bloqueo, y si añadimos comer realmente en ese caso, si no va a obtener el datos, simplemente leerá. Los datos están ahí en el zócalo. Entonces en ese caso, todo tu programa estará atascado porque estás llamando a una función y todavía está esperando que los datos lleguen al socket. El tiempo de espera se detendrá su programa. Hablando, parado. Habrá visto realmente en esta sesión que la sala de carteles, con el fin de lograr la comunicación del segmento de línea PICC, creamos un hilo para cada plano que se conecta realmente con el servidor. Esto será o lo que duele por las desventajas. Se debió haber visto esa junta, para evitar esas desventajas, no estamos prefiriendo usar amenaza. Estamos llamando a la función select. Ha visto cuál es el propósito de la función de selección. Inmediata dar la lista de descriptores que queremos. Realmente monitorear realmente poner tilde el valor de tiempo de espera y volverá realmente con los descriptores que están listos, cualquiera que sea la lectura del departamento que estén listos para escribir todos esos descriptores devoluciones fueron tomas seleccionadas, volverá realmente los cuales están listos para ser procesados. Es así como no va a leer en realidad durante mucho tiempo. Entonces así es como estás teniendo un control en realidad al bañarte. Este no es uno que realmente usamos el select. Otra forma es que pierdes, estoy haciendo que el socket sea sin bloqueo, por lo que esta es otra cosa para lograrlos y declinar en varias comunicaciones y los detalles de cómo usar el socket sin bloqueo. ¿ Cuál es el propósito de la toma sin bloqueo? Qué va a pasar y cómo lograr este mes declinar la comunicación del servidor usando socket no bloqueo lo estaremos viendo en otra sesión. También verás el programa. Por lo que ahora te he explicado cómo el detalle sobre la función select, cómo hacer uso de ella. Y ya que estaremos escribiendo un programa y ejecutándolo. Por lo que este conocimiento de la función selecta, así como qué argumentos se requieren, detalles al respecto es necesario, hay una razón para tener carbono aquí. También veremos, entonces queremos ver qué pasa con el socket sin bloqueo, cómo podemos lograr este lunes la comunicación cliente-servidor. Y también escribiremos el programa para eso también, vamos a resumir lo que todos los temas en realidad, vamos a ver cuáles son nuestros temas que vamos a estar cubriendo en la próxima sesión. Entonces, antes que nada, estarás escribiendo el programa y ejecutándolo usando la función select. Por lo que este encuadre, esta sesión es muy importante para ustedes porque en la próxima sesión estaré explicando que estarán escribiendo un programa en el Linux y lo estaremos ejecutando utilizando la función select. Desde que más trabajo sobre, he explicado en esta sesión habría sido útil atrás en el día. Debes ver cómo alguien declina. Se logra varias comunicaciones, ejecutaremos y veremos esta comunicación sucediendo en el Linux en la próxima sesión. La próxima sesión será muy fácil para ti. Si ha pasado por esta sesión completa utilizando la función de selección. Entonces lo siguiente después de eso estaremos cubriendo qué hace el socket sin bloqueo, cómo se puede lograr declina la comunicación del servidor. Entonces también veremos la diferencia entre estos dos enfoques, que se acerca a los enfoques para lograr la comunicación multilínea del servidor. Esa es la diferencia entre la función select en la que te he mostrado ahora. La diferencia entre el socket sin bloqueo, porque esta es también la otra forma de lograr mis declina la comunicación del servidor. Una vez que complete este socket sin bloqueo, te veremos en la diferencia entre ellos y cuál se supone que preferimos. Vea cuál es, cuál usar cuando o bien seleccione un socket sin bloqueo que todos los líderes en la siguiente sesión. Cómo hacer un socket es no bloquear todos los detalles y un programa y escribir un programa y ejecutarse usando socket no bloqueante con el fin de lograr la comunicación multi-nube y servidor. En los próximos soviéticos ven sobre solvencia el programa usando el no-bloqueo, haciendo que el socket sea sin bloqueo y ejecutándolo en el Linux on, Gracias, Estaremos cubriendo. Por eso espero que hayas entendido la sesión completa en que hemos visto todos estos detalles realidad sobre los enchufes de bloqueo y sin bloqueo que has guardado para seleccionar y cómo lograr ellos. Anticlines comunicación del servidor usando seleccionar todas las cosas que agregamos a través una v han engarzado en realidad la siguiente sesión, decir ver el programa usando el select y ver cómo lograr este multi-línea comunicación del servidor, escribir el programa y ejecutarlo usando lenguaje C. Y gracias por ahora. Gracias muchos amigos. 21. Session13 y la ejecución Using.: Hola amigos. Hoy estaremos escribiendo el programa socket utilizando la función select con el fin de lograr líneas magnéticas comunicación del servidor, así como lo estaremos ejecutando en el Linux utilizando el lenguaje C. Espero que hayas pasado por la sesión anterior y te he explicado los detalles, la necesidad de usar el select para lograr la comunicación multi cliente-servidor. Hemos visto dos logros, la Comunicación Cliente-Servidor en este primer lugar, puede ir con el enfoque que está creando el hilo llamado cada uno de los clientes conectados a ella aunque, hay múltiples clientes luego múltiples hilos, podemos verlo. Pero, ¿cuál fue el problema que hemos discutido en la sesión anterior? Hay diferentes, diversos desventajosos utilizando la creación del hilo para cada cliente que se conecta con el cortado. Por lo que he cubierto todos los puntos, todas las desventajas, y la sesión de audio. No se recomienda crear el hilo para cada cliente que intente conectarse al servidor. Y esa es la razón por la que no vamos por el acercamiento para crear un hilo. En lugar de eso, estaremos utilizando la función select. Por lo que los detalles de la función de selección mienten. Se requiere la función de selección. ¿ Qué es la función de selección? ¿ Cómo llamar a la función select? Qué todos los argumentos que necesita para pasar en la función de selección. Todos los detalles que he proporcionado en la sesión anterior, y es muy importante para que el logro disminuya la comunicación cortada. Así que veamos Sólo una breve descripción del select aquí, y empecemos a escribir el programa así como ejecutarlo en Linux. Simplemente hablando de la función select. Entonces, ¿cuál es el propósito de la función select? Es, es monitorear el número de los enchufes descriptores de socket que se da en este selecto funcionamiento. Si quieres monitorizar los enchufes con fines de lectura, si quieres decirle a alguien que los enchufes para, creo propósito, quien puede dar toda la lista de esos descriptores en esta función select. Y por lo tanto esta primera línea dice lo mismo. Es decir tenemos que cargar resets. Eso se lee, escribe una excepción con los enchufes que queríamos socrates que quieres probar por todas estas funcionalidades podemos dar esta lectura será la lista de sets del futbol descriptores que se pueden dar comprados. Creo, legibilidad. Puedes dar una lista del descriptor de socket para realizar pruebas. Y luego habrá la excepción descriptiva de falla seg. Entonces todas las cosas detalles que te he explicado en la sesión anterior, esto es sólo una breve descripción. ¿ Entonces qué? Esta función select, entonces volveremos. Entonces aquí le damos todo tipo de parámetro de timeout a la función select. Cuál es este tiempo de espera por diámetro que he descrito es el plazo dentro del cual hay que probar todos los enchufes. Tenemos que probar cuáles de los enchufes están listos para su legibilidad. ¿ Cuáles de los enchufes están listos? Estabilidad de cuarto de pulgada. Entonces todos esos enchufes en realidad dentro de su plazo, que uno de ellos está listo, devolverá la lista de esos enchufes si el tiempo de espera se caduca y no hay enchufes ni legibilidad o repetibilidad. Por lo que no escribirá ninguno de los enchufes. Entonces todo esto se trata de usar la función select. Y si tienes que pasar por los detalles para pasar por la sesión anterior, entenderás todos y todo sobre la función select. Así que empecemos a escribir el programa usando este selecto así como ejecutados Angelinos usando lenguaje C. También amigos, esta sesión que les estoy dando es el sistema operativo Windows. Para escribir el programa y ejecutarlo en el sistema operativo Linux, tenía que instalar la caja de Oracle VM. También puedes hacer lo mismo. Es muy fácil descargarlo e instalarlo para que también puedas probar para diferentes sistemas operativos. Y si estás teniendo el sistema operativo Linux, puedes escribir directamente el programa conmigo y puedes ejecutar a continuación. A menudo sin embargo, nos embarcamos hendijas abrieron el Linux. Vamos a empezar el sistema operativo de unidades y programa de radio. Este es mi terminal del Linux. Te diré consciente de comandos básicos cuando empieces a escribir el programa en el Linux. Este es el tirando aparte en donde tengo en la carpeta home, he creado este folio que es socket programación Linux usando select. Aquí, ya he escrito esto. Permítanme borrar la salida aquí. He estado frente a ti y luego veremos, déjame abrir este expediente. Vamos. Socket varios, cliente.read múltiple. Por lo que ya he escrito este programa. Déjame abrir eso y voy a anclar eso. En lugar de escribir cada una y 98 instrucciones de alinear de media, despido toma mucho tiempo. Así que ya he escrito el programa y luego te explicaré las instrucciones línea por línea que se utilizan. La mayoría de las cosas que voy a cubrir en este programa ya he cubierto en mi sesión anterior, he explicado, sabía usar la función select y eso es de mucha ayuda. Si usted pasa por esa sesión anterior, esta sesión será mucho. Entonces. Te recomiendo que vayas a la sesión anterior antes de iniciar Esta sesión. Inicie el servidor. Entonces este es un informe de barra lateral tratado a la sociedad. Una vez explico cada instrucción de alineación, entonces lo ejecutaremos. Una vez ejecutemos el solucionador, lanzará solver. Entonces estaremos lanzando el cliente desde otra terminal. Entonces una vez que lanzamos un cliente que intentará conectarse al servidor, entonces el cliente envía la conexión al servidor. El servidor aceptará esa conexión y enviará un mensaje de acuse de recibo. Con aplicar. Ese mensaje se imprimirá en la consola, en el cliente. Verás que cómo la acera envía ese mensaje al cliente. Para que el rojo sea la comunicación entre ambos servidor así como el cliente. Lo segundo que vamos a estar viendo en este programa que sea lo que escribimos, el mensaje, el cliente, se repita al propio cliente utilizando la función select. Entonces si escribo algún mensaje, saludo, encendido, ese mensaje aparecerá, volverá a aparecer en la consola del cliente diciendo hola. Todo esto está usando la función de selección. Veremos cómo funciona realmente la función select. Y luego si tratamos de lanzar el segundo cliente, si hacemos eco, este es otro mensaje sobre eso, en esa línea. Segundo cliente, se mostrará en esa segunda línea misma. Entonces todas estas cosas vamos a estar cubriendo de esta manera. También veremos cómo habla el servidor con el cliente y si cómo podemos hacer eco del mensaje al declinar en sí mismo, mismo plano en sí, sea cual sea el mensaje que dimos sobre el cliente, ese mensaje estará apareciendo en la propia línea roja en cosas que estaremos cubriendo en esta sesión. En este programa. Te explicaré qué todas las cosas, qué se requieren todas las instrucciones para lograr esto. Así que empecemos conjunto de los archivos de cabecera que necesitas para false. No lo declares antes de iniciar el programa. Eso espero. También pasaste por las sesiones de configuración anteriores que he cubierto para la programación de socket. Entonces ya sabes, el B6, el zócalo. ¿ Cómo se comunica el servidor con el cliente? ¿ Cuál es los hongos en realidad cómo el servidor se unirá al puerto y cómo se conectará el cliente al mismo puerto, y cómo se hace esta comunicación. Todos los detalles que he explicado apilamiento de la sesión sobre este curso. Te diré cómo deberías ir paso a paso secuencia sabia. Empecemos. El Desde este es un lenguaje C, pero la ejecución de su programa siempre parte de la función media. Entonces esta es nuestra función principal que he hecho el código, esta función de selección hasta ahora, soporte. Esta es la función principal. Estas son las Declaraciones que he hecho. Entonces veamos uno por uno. Se puede ver esta variable está ahí la cual tengo inicializa. ¿ Vemos todas estas cosas que se requiere? Entonces este es el, esto es, estas son las variables que es socket maestro. Este calcetín de subrayado de línea ADD LN. Entonces se puede ver una matriz en el socket cliente que está teniendo n elementos en él. Esta variable max Klein's, que está teniendo, que se inicializa con el valor diez. Entonces todas estas variables que son, que he declarado. Te explicaré cuál es el propósito de cada mes variable que comenzamos con la explicación de instrucción línea por línea. Te explicaré ¿cuál es el propósito de todas y cada una de las habilidades mediáticas declaradas? Estimadores de subrayado máximo variable del tipo de datos int. Esto es máximo o esto podría tener esos descriptores de archivos que están muertos. En la sesión anterior. Además, te he mencionado que sobre los detalles del subrayado Avy seg. Por lo que de nuevo, dijo la escuela en realidad, ustedes saben que hay tres conjuntos de célula de subrayado IED, es decir para lectura, por escritura y por excepción. Entonces, qué valor de este máximo y Steve lo tendrá tendrá el máximo. Que tres de ellos está teniendo el valor máximo. Aquí se puede ver la estructura que es obediente ha sido nombrada como dirección, que es del tipo estructura calcetín, DDR, y la escuela. Ojalá por lo que estén al tanto de esta estructura. Esta es la toma de estructura en donde hemos cumplido ambos elementos con los detalles. El tercero tratará de vincularse a eso. Tenemos que dar el número del puerto, tenemos que dar la familia de direcciones alrededor de socket. Entonces todos los detalles sobre la API socket ya en sesión muy iniciada del curso. Así que por favor pase por él. Estaremos cubriendo, el foco principal será cómo utilizar la función select en la placa de comunicación socket. Toda comunicación entre la comunicación molecular y celular. Entonces veamos. Estamos utilizando un buffer en realidad, por lo que veremos cómo hacer uso de él. Lo oí. Y se puede ver conjunto de FD. Por lo que estamos utilizando del lado aquí, ya que estamos en nuestro programa, monitorizar sin embargo, descripto tomas para leer, escribir, puedes dar también llamada escritura dependiendo tu requerimiento aquí yo han dado único chico conseguir, hablemos de ellos. Voy a procesar. Por lo que aquí he tomado leer superficie de la FDA del tipo de datos. Nuevamente, este conjunto de códigos, se puede ver aquí. Aunque, consiga un punto. El mensaje es decir, este es un mensaje que va a enviar desde la barra lateral a nueve unidades para conectarse al servidor. Enviaríamos este mensaje desde este, yo mismo ejecutaré este programa. Verás cómo hacer uso de este mensaje, agosto manda este mensaje. Entonces en estas tres líneas de instrucciones, se puede ver lo que estamos haciendo aquí. puede ver que es un for-loop. Y aquí estamos tomando el bucle comenzando desde valor 0, líneas máximas de subrayado. ¿ Qué tiene sentido esto? Clientes geniales, se inicializa a diez. Entonces como quiero diez clientes, pueden traerle diez clientes pueden conectarse al servidor, así que lo he dado como diez. Y por lo tanto este nuevo, y por lo tanto este bucle iterará de 0 a n Inicialmente, lo que estoy haciendo es que ¿qué es esta área sobre el socket de cliente? Se trata de una matriz de estos descriptores de fútbol. Entonces sabemos que una vez que el zócalo está bien, se crea socket, entonces devolverá un descriptor de socket. Teníamos mantener el descriptor de socket en esta adición nombrada como cliente y el futbol escolar. Y en un principio, ya que no hay cliente conectado, eso sería, inicializaremos los diez descriptores de socket del cliente serán 0. Una vez que el cliente intente conectarse al lado de la misma, entonces uno por uno, se llenarán estos elementos agregados. Socket, va a sacarlo del cliente que intenta conectarse. Por lo que verás lo profundo en estas cosas en todo este programa en sí. Entonces lo que estamos haciendo. Dado que se trata de un programa de barra lateral o, crearemos el socket en el lado a lado. ¿ Qué es cómo crear el zócalo? Sabemos que tenemos que simplemente la función socket de esta manera. Y estas son la configuración en los humanos que se supone que debemos pausar. Ese es este primer argumento, segundo argumento, y este argumento parte. Esta es la familia de direcciones. Hemos visto los detalles al respecto en sesión anterior, el tipo de los enchufes, y vamos a hacer la comunicación socket usando el mercado de socket de corriente Bagram. Por lo que he mencionado el tipo del socket también los detalles de este inexplicable en la sesión de inicio. Este 0 será pasado aquí. Una vez creado el zócalo en el lado del servidor, volverá. Si tiene éxito, devolverá este socket maestro. Verifica en realidad si tiene éxito o no, definitivamente esta condición se da así. Aquí este socket maestro será el descriptor de socket en la barra lateral, que tenemos. Una vez creado este socket, este socket maestro, intentaremos enlazar este socket de servidor circulado maestro al número de puerto, e intentaremos escuchar en número de puerto. Trataré de simplemente aceptar la conexión. Si tratamos de lanzar el cliente desde otro lado desde un N-terminal, entonces una vez que, una vez que está escuchando, el servidor acepta la conexión desde el cliente. Si el cliente se conecta al mismo puerto, entumecido a todas las cosas que veremos aquí en el sitio del servidor. Cómo atar, cómo escuchar, cómo aceptar. Ahora las siguientes instrucciones de configuración, que está ahí, es set socket de OPT. Por lo que esto también es opcionalmente y el socket maestro para permitirles la conexión ética. Por lo que da las diferentes opciones que puedes emitir el zócalo aquí en esta instrucción que se hace. Siguiente sector de instrucciones que estás recibiendo, ya sabes, lo puedes ver. Esto lo que estás haciendo como te dije, ¿qué hace esta dirección? Son las arterias del zócalo soviético ya visto en los fundamentos del zócalo. Cómo llenar. Es así como este pilar exterior, esta variable, cada elemento de esta variable uno por uno, con el miembro de la junta directiva de la familia. Y con todas estas cosas tenemos que proteger. El destructor no es miembro de. Entonces todo lo que es tener a estos todos los miembros en este video proyecto de ley es tener esa es la familia con la que tenemos que vivir. Familia del zócalo. ¿ Quieres a Ben? Que todos los detalles del tiempo de socket te expliquen en la sesión de inicio, por favor pase por ella también, me he centrado en este ADR de hierro y el marcador. En la sesión anterior del socket para por favor pasar por él. Entonces este número de puerto, que te daré un número deportivo, simplemente he hash definirlo a cuatro veces ocho para que puedas definir número a cualquiera del número de reporte, sin problema. Pero esto recuerda cuando intentas conectarte desde el cliente, tienes que conectarte en el mismo número de puerto de la barra lateral, que te dará, si me das un número de puerto diferente, el sitio del servidor. Y quieres, y quieres que el cliente se conecte para dar el mismo número de puerto, lo que sea que des aquí en el lado del servidor. Para que ese declive entonces pueda decidir qué entonces puede aceptar la conexión. Está vinculado a ese número de puerto. Entonces así es como estamos atando el número de puerto de socket lateral y estamos dando los detalles del bolsillo familiar lista para mí. Entonces todo esto se trata además de programa. Simplemente imprimiendo el mensaje escuchando en el número del puerto. Por lo que obtendrá este mensaje de visualización en la consola de los elementos repentinos que tratamos de lanzar su ciber. Y luego aquí llegamos, tenemos que llamar a la función de escucha. Eso significa cuánto de la conexión pendiente puede estar muerta en el socket dividido dos del cliente dependiendo de la conexión V1. Entonces, por lo tanto estamos dando a estos oyentes también. Por lo que puedes dar cualquier número de conexiones pendientes en el cliente dependiendo de tu requerimiento. Entonces lo siguiente que estamos haciendo es que simplemente estamos imprimiendo este mensaje en la consola esperando la conexión. El servidor está esperando la conexión. Todos estos mensajes veremos en el sitio del servidor ya que este programa es para el sitio plata. Y entonces se puede ver aquí estamos tomando un bucle que es el bucle alto y lo estamos haciendo como cierto. Para que puedas entender si tomamos un bucle y luego este bucle seguirá iterando, entonces no regresas a algún lugar de tu blog. Tienes que, para simplemente evitar el bucle infinito, tienes que regresar de este médico dependiendo tus requisitos y tienes que regresar. Hay que mencionar que este es un bucle que seguirá funcionando continuamente. Entonces aquí vemos lo que estamos haciendo exactamente. que puedan ver estas instrucciones que nos dan, es decir FDE subrayado 0 de nuevo, VSCO configuró todas estas cosas que les he explicado en mi sesión anterior. Estas cosas son extra y se utiliza la función de selección. Así que recuerda siempre cada vez que estés usando una función de selección, se supone que debes usar todas estas funciones de ecualidades y tienes que inicializar todas estas cosas de la misma manera. Estos son los detalles al respecto que les he dado en la sesión anterior. ¿ Cuál es el propósito del subrayado 0 de la FDA? Ya que simplemente estamos utilizando la lectura f ds, queremos que el software monitoree en el tablero el propósito de lectura. Por lo que inicialmente tenemos que inicializarlo siempre a 0. Y por lo tanto estamos llamando a este subrayado AVG 0. Entonces esto es lo que este que he declarado y puesta en marcha te inicias nuestro programa. Por lo que se puede ver aquí sólo tomando uno cada dicho que somos. Entonces todas estas cosas vamos a estar requiriendo y llamamos a la función select. En Italia, simplemente neutralizamos todas las listas, lista de todas las pruebas a 0. Esto significa que si llamas a esta función, entonces f decide cuál es, cuál es el momento de llamar aquí y analizar el zócalo de Moscú. ¿ Y qué? Esta función, esta función, si llamas a un reset, significa que cualquier descriptor de socket que des aquí realmente eso se agregará en esta lista. Descriptor de zócalo. Entonces esta es la cuestión particular del descriptor de socket individual que uno lo pone. Entonces supongamos que tienes que monitorear tres descriptores de socket. Tienes el gol tres veces, ambos tienen el guión bajo establecido. En el primer argumento, hay que pasar ese descriptor de socket y hay que agregar ese descriptor de socket. Tiene que agregar en esta lista del descriptor de socket que se lee FDA ya que desea monitorear ese descriptor de socket para su legibilidad. Y por lo tanto ustedes están pasando eso dicho TO. Entonces supongamos que querías que el descriptor socket monitoreara con fines de escritura. Y si tiene FBS derecho inicialmente o declarado que le da al descriptor socket como argumento opuesto y puede dar como segundo argumento la dirección MVS correcta o escribir f ds. Pero ya que en este programa queremos o necesitamos monitorear descriptor socket para fines de lectura. Y por lo tanto, he dado, tengo que añadir este socket a esta lista del descriptor de socket para que el socket del servidor pueda ser monitoreado con fines de legibilidad. Para eso lo que estoy llamando a esta función. Entonces lo que estoy haciendo. Puedes ver aquí Max, como ya te he explicado, que estamos dejando este max como SB. De esta manera, como d al inicio de este programa. ¿ Cuál es el propósito de la misma? ¿ Qué tendrá este video celular? Tendrá máximo del conjunto descriptor de socket. Dijo desde este descriptor de socket ya que estamos teniendo realmente en mí un descriptor de socket aquí. No estamos creando 23 socket descriptor equitativamente tener polvo, enmascarar los enchufes o cualquier descriptor de zócalo de fila que esté ahí. Así que desde que llegamos sin embargo, creamos, hasta ahora hemos creado solo un socket y devuelve Birmania conjunto de nosotros socket descriptor. Por lo que mencionaremos esto. Vamos a inicializar este max como David, ese valor, que es redact variable master underscore socket. Entonces simplemente estamos imprimiendo el mensaje aquí es conseguir este socket maestro que tendremos depende de si tienes que imprimirlo o no. Este for-loop que he tomado. Entonces, ¿cuál es el propósito de este for-loop? Por lo que se puede ver aquí ya que es un bucle while. Entonces dentro de este bucle while, antes que nada, tenemos que inicializar todas estas cosas. Respeto a esta escritura de la FDA. Y entonces esto es un for-loop. Nuevamente. En este for-loop, lo que estoy haciendo exactamente post-op encendido. Se puede ver aquí al inicio de este sub y loop, simplemente estoy agregando el servidor, un socket al hasta ese momento se puede entender solo un descriptor de socket. No he agregado en cama conjunto descriptivo del lector para monitorear con fines de auditoría. Pero también quiero que se añada una lista de las líneas al descriptor de socket. Conjunto de descriptores con el fin de monitorear con fines de auditoría. Porque si supongamos que algo se pasa al cliente y en ese caso tengo que monitorizar también, en realidad, había querido leer realmente desde el socket cliente. Quiero que el socket cliente también sea monitoreado si hay alguna actividad pasando y parando. Hasta ahora solo se monitoriza el socket del servidor maestro con fines de lectura si tengo que agregar todo y los clientes realmente actúan sobre Mónica, cualquier acción de lectura se debe hacer en retrospectiva. También puedo agregar esos enchufes de clientes a esta tasa de BSL para que las cosas se lean en ese socket cliente. Entonces puedo leerlo en realidad una vez que agrego realmente usando el conjunto vacío. Por lo que primero si quieres monitorizar, hay que agregar también el cliente, los enchufes del cliente a esta cantidad en propósito. Para que puedan ver aquí hay una razón por la que he tomado esto por bucle aquí. Este for-loop es que Isaac igual a 0 I menos que los clientes de subrayado máximo y luego yo más, más clientes max, tengo valor codificado diez. Este es un mensaje de visualización de escritorio. Ahora se puede ver sólo este socket cliente. Como te dije, esta es una lista de esta área que se utiliza para mantener el área del descriptor de socket cliente. Así que al principio hemos visto, hemos inicializado todo baile hemos inicializado todo baile fuera de los descriptores de clientes a 0 porque como no tenemos ningún cliente a un activo, en realidad uno por uno. Tan pronto como el cliente se conecte al servidor, cada elemento será llenado. En realidad, este elemento de área se llenará con ese descriptor socket fuera del cliente. Por lo tanto, inicialmente se puede ver aquí, estoy tomando sin embargo, estoy recuperando el valor de este o este socket cliente. Desde cuando yo sea igual a 0, área de socket de línea de ceros será como G será 0 sí mismo. Porque desde que todavía ahora no hay cliente conectado. Y ahí podría haber comprobado esta condición. Condición es que si este socket SDS mayor que 0, entonces solo se supone que debes agregar este descriptor de socket de cliente en videos anteriores. Entonces, ¿de qué trata esta tres línea de instrucción? Simplemente, todo se trata de eso. Solo estoy comprobando en este for-loop si mi cualquier cliente está conectado. Desde que te dije eso. Si el cliente está conectado, en ese caso, ¿qué pasará? Trataremos de llenar esta área con ese descriptor de socket del cliente. Entonces supongamos que solo un cliente se está conectando al servidor. Entonces obtendré el descriptor socket en el cliente y rellenaré este Eddie, Eddie ceros, luego segundo cliente intenté conectarme al servidor y luego obtener el descriptor de socket diferente de el segundo cliente en cada errata en esto. En realidad, ya que en cada alelo no hay clientes conectados, se revisan las condiciones. Obviamente eso está más conectado y echo este SD o 0 será 0 sí mismo. Y por lo tanto esta condición no quedará satisfecha en su código. No agregaré el descriptor socket, aunque tendría meses declinación y x al servidor, entonces sólo línea directa podemos añadir a este lector monitor VS2 para fines de auditoría. Inicialmente, se puede ver aquí no esta condición no quedará satisfecha. Además de esto es una condición más. Es decir, si SDS mayor que los maxes, aún no sabías tener Max SD es lo que realmente es , sin embargo, descriptor de socket de servidor. Estoy comprobando en realidad si este 11 es mayor que eso. Así que obviamente hasta ahora no tenemos ninguna subida y récord activo. Esta condición tampoco quedará satisfecha. Simplemente esto no estará satisfecho. Así que no, no vamos a tener esta instrucción ejecutada. El pulgar for-loop IV estará siendo implementado. Se convertirá en uno para aplicar socket uno. Se puede ver, ya que no hay clientes enchufes conectados, por lo tanto este valor volverá a ser 0, y por lo tanto esta condición no quedará satisfecha. Entonces esto simplemente, esta iteración sucederá de Isaac mientras que a 0 I menos que. Entonces porque hemos inicializado max cliente para ser diez. Ya que en este punto de partida, ya que ningún cliente está conectado y de este propio programa PM inicializó todos los clientes aunque descriptores sean 0. Y por lo tanto, cada vez estas dos cosas no se satisfagan. Y por lo tanto, no, ninguno de estos descriptores ocre se agregará y se agregarán descriptores al conjunto descriptivo ya que no tenemos ningún cliente conectado, por tanto, su área elemento no está equipado en realidad, no estamos teniendo descriptivos de socket para esa línea. Entonces esto es en la hora de inicio, esto se ejecutará. Entonces cada vez que el bucle va en realidad, entonces se puede ver ya que esto es vital cada vez que este militar, cada vez que este bucle, de nuevo, esto será ejecutado. 22. Session13 y la ejecución selecciona MultiClientServerComm 2en la de la de la: Entonces se selecciona la siguiente línea de instrucción. Esta es una instrucción muy importante aunque. Entonces, ¿qué pasará? ¿ Ahora? Estamos llamando a la función select. Estamos pasando todos estos argumentos. Pero tendrá un argumento dispuesto. Entonces los detalles de cómo llamar a la función select y qué argumentos hicieron en su interior, todos están cubiertos en la sesión anterior. Por favor pasa primero, como te mencioné tal vez para renunciar ya que el primer argumento tendrá máximo en esos descriptor socket establecido por encima del conjunto de tres descriptores más uno, este lado descriptivo, lado ocho MDS, ¿verdad? Sí. Y excepción. Y ha dicho, entonces, ¿cuál de ellos está teniendo el valor más uno más uno? Desde este Max tiene dv. Ahora solo hay un descriptor de socket. Entonces su valor, cualquiera que sea el descriptor del socket del servidor maestro es malo, que se irá después de llamar la función socket al valor más uno, eso sería malo. Tenemos que preguntar esto en caso del sistema operativo Linux que todo lo que también te he descrito. En el caso del sistema operativo Windows y se llama a la función de selección. Esto no se da en realidad, también te he explicado por qué. Porque este parámetro está incluido en la escuela dijo Así que todas las cosas están cubiertas y no den una sesión. Por favor, vaya a través de él. Entonces. Aquí se puede ver el segundo argumento, lo estamos pasando como operador de direcciones VSO. Sabemos que hasta ahora simplemente agregamos en Yvonne socket descriptor industria sus ideas y eso está en un descriptor de socket de servidor, pero ninguno del descriptor de socket cliente que estamos agregando saber actualmente en esta etapa, incluso ver más tarde en realidad tan pronto como se ejecute el programa, tan pronto como tratamos de lanzar plazo escenario de intercambio en realidad entonces volveremos cliente en el socket cliente descriptor me dirijo en este video. Por ahora, ya que ningún cliente conectado o no, no hay duda de agregar el M&M en esto más adelante. On, el único socket que es descriptor de socket de servidor se agrega en este video. Y este valor, ¿cómo se llama este argumento? Sabemos que este es uno. Esto es conjunto vacío. Esto es para fines de escritura. Esto es lo que propósito de excepción, y este es un valor de tiempo de espera. Entonces todas las cosas han ido en sesión anterior. Esto estamos pasando como ninguno por escribir oficina porque por ahora no queremos monitorear para escribir. Si quieres acción, también puedes modificarla en tu, ya sabes, como te dije, puedes agregar un cuarto, ¿verdad? Y la liberación y lo que sea. Sócrates, si lo deseas, puedes agregarlo. Ya sabes editar. Te he explicado que escuchaste esto. Puedes modificar tu código dependiendo del requisito para mi caso. Quiero vigilar para auditar y por lo tanto, no estoy analizando esto. Estoy pasando por escribir ES nulo y el pensamiento son humanos. Y este cuarto argumento aquí es una excepción. Estoy haciendo con ellos para monitorear por excepción si lo estoy pasando ya que el último argumento es el valor de timeout. También explicaré nuevo detalle en realidad qué valor de tiempo de espera, si es un valor distinto de cero, eso significa que mucha cantidad del tiempo que va a monitorear que realmente lo perciben fuera del socket descriptores y esta necesidad de VS ya está leyendo público. Entonces como sede dar el valor es nulo, eso significa que lo eres, tienes que hacerlo. Esto, esta función de selección seguirá esperando. En realidad poner una actividad a ocurrir en el zócalo maestro. No devolverá ningún DWT, ninguna detección en este socket maestro. Esto depende del valor que le des al tiempo de espera. Por lo que toda dinámica te explican en una sesión anterior. Así que si le das un valor distinto de cero para dar algún tiempo definido como diez segundos, 30 segundos hasta la próxima vez realmente grabará y la actividad tendrá un código en la acera. Y si no, entonces devolverá qué? Y si no tuviéramos tiempo, si alguna actividad se opuso, entonces devolverá el descriptor de socket de índice. Y se puede realizar la operación de cría. Depende, lo siento, eso significa que estás teniendo el control en la función select dependiendo de este valor del tiempo de espera, controlará el tiempo de las personas sin hogar. Quieres tu herramienta de selección. Esto es controlable, por lo que esa es la razón por la que esto es en un día. Por lo que paralelamente se puede procesar con otras tareas también. Por lo que no va a mantener tu función original bloqueando durante mucho tiempo, poli-tiempo, habías mencionado que mucha cantidad de tiempo será blogueado ya que va a estar mal. Medio con procesamiento bajo tarea después de este tiempo de espera. Entonces este es un mensaje de fila más que aumentará en gran medida hasta seleccionar. Esto sólo te explico el piso. Y obviamente ve aquí cómo va el flujo. Ahora, estamos comprobando con el aditivo algunos deselectos, volverá. Esta es una devolución, en realidad devolverá algún valor, por lo que lo estamos comprobando realmente. Si es menos de 0, impresionante. De esta manera, entonces estamos imprimiendo el error. Estamos comprobando en algún metal se han producido llamando a la función select. Siempre. Desde que compraron. Ahora, en esta etapa. Y teniendo solo un lado de un socket, estamos monitoreando que si alguna acción se realiza en el socket del servidor. Para que puedas entender realmente qué acción se puede realizar en el socket de la barra lateral de Besley. Hasta ahora, lo que estamos hechos, lo que compramos, se logran lo que hemos hecho en Según, simplemente somos vinculantes. Lo hemos hecho con enlazar el socket de la barra lateral al número de puerto y estamos terminados de pujarlos. Está escuchando en realidad. Y una vez, qué actividad puede ocurrir en esa actividad de socket de servidor puede ocurrir como si estuviéramos tratando de aprender fecha límite de lanzamiento. Entonces obviamente que nueve lo harán, si trato de conectarme a la barra lateral y luego sirviente tiene que aceptarlo. Entonces esa es la actividad que está aceptando la conexión del cliente. Esa es una actividad que mecánico ocre en el lado de la cuenca del ojo. Entonces en ese caso realmente conseguido socket de servidor se activará debido al cliente enviará una acción para ordenar lateralmente. En ese caso, la barra lateral se activará. Y puesto que ya no estás monitoreando tu servidor con fines de lectura, Deco, tienes que comprobar realmente con estas opciones. requiere esta opción vía ella. También he explicado, se puede ver este bloque que he hecho después de la función select. Tenemos instrucciones de configuración geniales para comprobar realmente cualquiera de los descriptores de fútbol se ha establecido realmente en su conjunto descriptor. ¿Significa qué? Ya que qué función de selección devolverá, en realidad volverá con ese número en la parte superior. Y esto podría tener algo descriptores con el ID para la operación funcione mejor cuando se tiene que seguir en tictac en realidad, que son el descriptor de socket está listo. Así que recuerda también esta lectura f ds se modificará realmente después de la función select. Así que desde que ha sido, ya que ahora estás pasando solo agregando solo un socket va a dejar que de hecho obvia menú seleccione la función. Esto se modificará con el valor de los descriptores de fútbol. Regreso. Sí. Entonces este bloque está ahí en la enseñanza sólo hasta tanto por qué se requiere esto. Este bloque, que acabo de destacar aquí, simplemente dice que después de que se haya llamado a la función select, obviamente cuando está volviendo a ver que el descriptor muerto establecido en tu tasa de lecciones te dije el estado de VS se modificará después que llames a la función select inicialmente lo que esta tasa de VSS teniendo, teniendo la lista de ambos descriptores de socket está contigo. Quieres que sean monitoreados. En caso de la lectura de la FDA, estás agregando todos aquellos en tu creatividad también. Una vez que se ha llamado a esta función de selección ejecutada, devolverá ¿verdad? Después de que regrese, esto se modificará. Esto tendrá con eso en la lista de descriptores que están listos para esa funcionalidad. No tendrá el descriptor de socket más antiguo. Tendrá sólo aquellos descriptores de socket listos para realizar el propósito de lectura en caso de este conjunto descriptivo. Y por lo tanto hay que perder esta cosa resaltada, estas instrucciones con el fin de comprobar realmente walk o socket descriptor ya que se le da el cheque WSUP uno por uno. Pero cualquiera de los descriptores de socket está presente en este lector de ds. Si está presente en este video, eso significa que el descriptor de socket está muerto. Socket está listo para fines de lectura porque esto después de seleccionar las cantidades del módulo se modificarán. retorno por discapacidad tendrá el valor de aquellos que solo enloquecen un propósito coordinador retardado y listo. Si se está teniendo n descriptor socket, que está monitoreando para reiterar lectura y sólo dos de ellos está listo. Entonces se llama a la función select. Sólo se agregarán dos de la toma de corriente. Lee la FDA y no lo sabes. Tienes que revisar uno por uno. Todos los diez en realidad, si quieres comprobar cuál de ellos está presente en tu conjunto de descriptores. Y obviamente dos de ellos es esa condición a esto ya que en nuestro caso en la parte inferior ahora esto es IVR monitoreando solo el socket del servidor maestro. Y por lo tanto soy sencillamente, creo que el código para tomar muchos semestres, etcétera descriptor de socket ocular en su zócalo maestro está presente en 3D de ds. Si está presente, eso significa que este zócalo está listo para fines de calificación. Esta condición quedará satisfecha. Este es el propósito principal de usar el guión bajo de la FDA se dice, Se supone que debe usar después de que se llame a la función de selección. Y por lo tanto en esta celda, si esto está satisfecho, se pone satisfecho. Eso significa que llamaré a la función de salida que te dije asignar la conexión al servidor en el mismo número de puerto y luego aquellos que alguna vez necesiten aceptar esa conexión. Yo puse. Estoy llamando a esta función de extracto. Y luego cinco, ver al maestro Sócrates quiere que sea un socket de servidor es que estamos analizando los detalles que es la dirección presencial y todas estas cosas. Pero quiero decir que sí, es regresa, devolverá el descriptor socket línea de libro, que se conecta. Tenemos esta etapa. Esta condición está satisfecha. Eso significa que en esta etapa hay una línea que se lanza. Así que hasta ahora no teníamos ninguno. Pero una vez que tratamos de lanzar la línea oscura, cliente intenta conectarse al solucionador en la cama es después de este selecto. La función de selección. Ya sabes, estará esperando realmente en nuestro caso, estará esperando noche indiferente hasta que obtenga una conexión del cliente. Puedes ver aquí, estoy imprimiendo esto antes de seleccionar cuando inicies el servidor. Y puedes ver aquí, recibirás el mensaje antes de seleccionar este punto. Ese servidor está esperando en realidad, ya que había mencionado aquí. Eso es esto, todas estas cosas no estarían satisfechas en realidad, que uno no está mintiendo porque esta condición es sólo cuando el cliente intenta conectarse al servidor y hay alguna actividad. El lago I en descender la conexión, entonces sólo estamos. Esta condición no habría satisfecho si esta es la cosa. Por lo que definitivamente puedes ver aquí, una vez que intenté lanzar el servidor en New, puedes ver el local select default select. No verás el log de este selecto porque de repente eso está esperando en realidad, porque no has dado aquí. Una vez que lancemos línea oscura, intentará conectar con el solvente y obtendrá todo este mensaje será impreso. Y también conseguirás que este mensaje se imprima en esta nueva conexión. En realidad eso significa aplicar consiguió una in otorgó la misma conexión nueva. Este video conseguirá que solo un cliente se conecte. Entonces obviamente cuando el cliente se está conectando, entonces el servidor está enviando el mensaje. ¿Qué es este cliente? Entonces este es el descriptor de socket o el cliente que trajo conectado. Dado que esta función extracto lo devolverá, devuelva el descriptor de socket de línea oscura desde el lado del servidor que estamos enviando. Tienes que lijar en este zócalo algún mensaje, como te dije, ¿cuál es el propósito de este programa? Lo que vamos a hacer, vamos a tratar de lanzar el servidor luego readwrite para conectarnos en el mismo número de puerto desde la simple vista. Entonces lo hará. Esto todas las cosas estarán apareciendo que está en baja desplazada IV se pondrá en el lado del servidor. Recibirás este mensaje, nueva conexión en todos. El servidor enviará un mensaje al cliente de esta manera. Este mensaje, lo que hay ahí. Ahora, viene el uso de este mensaje. Entonces como ya estoy grabado este mensaje a este valor, se puede ver aquí, este es un mensaje de puntero gato. Y me dan este mensaje se reconoce el mensaje de reconocimiento enviado desde el servidor. Por lo que aquí estamos enviando el mensaje del lado del cliente de esta manera, el socket cliente. Y esto es sólo para mostrar el mensaje en el lado del servidor, mensaje de reconocimiento envía con éxito desde ellos. Varios. Ahora, este es uno más que bucle en realidad, esta condición misma. Entonces todas estas cosas donde lo estoy mencionando en realidad cuando leí estas instrucciones como se dan en esta condición, esta es la condición y tienes que master socket, eso es vendedores nuestros Sócrates obteniendo la conexión del cliente. Eso significa que el cliente está presente en realidad n Ahora, obviamente lo que estás haciendo, estás tratando salir de la conexión del lado del servidor. Y una cosa más que se supone que debes hacer, solo puedes adivinar. La cosa más que se requiere es todavía ahora. Puedes ver en nuestro programa lo que hemos hecho. Tenemos en la matriz para el descriptor de socket cliente, inicialmente es de inicio a inicializado a 0 porque no hay aplicación conectada. Pero ahora en este punto, si se cumple esta condición, eso significa que está aceptando la conexión en ese entonces puede aceptar la conexión. Y hay una solicitud de cliente en realidad para conectarse al servidor, entonces el servidor puede aceptar esa conexión. Eso significa que hay un cliente que ha sido lanzado. Ahora cuál es nuestro papel en realidad, lo que se supone que debemos hacer, se supone que debemos agregar ese cliente en realidad en el conjunto descriptor para fines de lectura. Ese padre en filtro es algo que pasa en ese socket cliente. Para leer, simplemente podemos monitorear realmente y podemos realizar la acción. Entonces por lo tanto, se requiere esta lógica en realidad aquí se puede ver este bucle y se puede ver que estoy tomando un bucle de partir de 0, yo menos que max línea de subrayado I plus, plus. Estoy revisando esta condición. En realidad. Por qué se revisa esta condición, porque se puede ver inicialmente toda la zona y humanos de este socket cliente se inicializa a 0, supongo. Por lo que inicialmente sabemos que ninguno de ellos se pone en marcha. Ahora en este 0.1 sobre declinación se ha lanzado y sólo un cliente está conectado. Por lo tanto, simplemente rellena ese descriptor de socket de la única línea. Esto lo llenarás como un miembro cero de esta área del socket cliente. Esto está teniendo la lista del descriptor de nueve socket. Por lo que sólo 0º elemento de esta matriz, este descriptor de socket de cliente se llenará con el descriptor proveedor y socket que compró. El interior aceptaría la conexión. Por qué se requiere esta condición, por ejemplo, por ahora, ya que lo que estamos haciendo cada vez el cliente se conecta al servidor, estamos agregando en el socket de este cliente toma de corriente aquí. Y por lo tanto, en ese caso esto, desde la primera vez ya lo hemos agregado. Está aquí. Y segunda vez, nuevo, se pone en marcha la conexión. Otro cliente intenta conectarse al servidor. Lo que sucederá esto obviamente el elemento 0º de esta matriz será distinto de cero porque lo eres, ya estás llenando y la propia hora de dormir, el descriptor de socket cliente en esta configuración. Por lo tanto, esta condición no puede ser satisfecha en realidad, y antes de que me convierta en uno, de nuevo, su cliente socket manual check si es 078 será 0. Simplemente para decir este socket de cliente voy a ser 0 solo cuando su cheque realmente comience que intentará agregar. Por lo que espero que estén entendiendo realmente lo que estamos tratando de hacer. Entonces uno por uno cada vez trataremos de llenar esta matriz simplemente comprobando si es 0. En realidad, eso significa que tenemos ese descriptor de socket cliente en esa posición misma. Si ya está teniendo algún valor, eso significa que nuestro descriptor de socket ya está agregado en esa posición. Estamos para incrementar yo por uno en realidad, y tenemos biotech otra posición si ese valor es 0 o no, es romper Maya aplicado de nuevo, no necesitamos tomar en realidad porque nosotros llegó al punto donde tenemos que construir este socket es cliente socket descriptor en la matriz, y por lo tanto tenemos que salir. Y ese punto. 23. Session13 y la ejecución selecciona MultiClientServerComm 2de la parte 2a: El ahora, la siguiente instrucción se ejecutará en realidad porque todas estas instrucciones que están presentes en su tiempo, cierto, mientras que cierto, que es cierto, que hemos dado. Aquí. Este es todo un bloque del código está presente en realidad. Por lo tanto, las próximas instrucciones que estarán ahí en realidad que está fuera de esto. Así que cada set. Ahora este conjunto de FD, hemos visto lo que todas las cosas estaban presentes. En realidad, lo que se supone que debemos hacer, paro todo lo que tienes que aceptar la conexión del cliente y el socket cliente que obtenemos, tenemos que simplemente sumar en no Eddie en realidad en este socket cliente hace esta actividad que tenemos que hacer. Y también enviamos el mensaje más largo para declinar estas cosas que estamos haciendo acción extracto al exterior esta si condición. Eso es un for-loop más. En realidad, no lo sabía. Esto es en general el Khonsu, lo que estamos haciendo. Esto for loop simplemente se usa para comprobar, en realidad lee que si hay alguna operación en línea. Ahora ya sabes que tu cliente ha sido lanzado en realidad esto está conectado al servidor. Ahora puedes agregar realmente tu cliente en realidad al conjunto descriptor para fines de lectura. Así como puedes simplemente comprobar en realidad lo mismo que estás comprobando para el lado Savoir, es decir una v es igual a establecer después de la función select. Eso es lo mismo que puedes comprobar realmente pod También el socket cliente en realidad. Ahora este for-loop en realidad es solo se usa para comprobar el que en realidad si hay alguna actividad están operando entrada-salida yendo, si hay algunas operaciones de IO pasando en los sockets cliente. Por ahora estamos teniendo solo un socket cliente, pero ahora en este punto no lo estamos, aún no hemos agregado ese socket cliente en su conjunto descriptor de la read up ds por lo que no podemos monitorearlo, ¿verdad? Para que, esa cosa es gastar Olivia para agregar ese socket cliente también en el MDS realidad incluso ver la cabeza que tenemos que sumar. Simplemente recuerda por este for-loop se usa en realidad esto para bucle solo se usa. Se puede ver aquí, he tomado yo es igual a 0, yo menos que max clientes, o ahora estamos teniendo diez clientes. En realidad lo convierte en mecánico. Las líneas pueden estar ahí. Eso es que ahora este cliente socket de ceros en Italia es igual a 0. Aplicando socket en este curso, OK, y z a lo que es. Sin embargo sólo donde se puede ver el plazo de uno lo que conectó al servidor. Añadimos llenando este descriptor socket de ese cliente en el elemento 0th en el cliente socket barrera restaurante y humanos fuera de línea socket es 0. Y por lo tanto puedes ver tu cliente subrayado socket del subíndice 0 te dará sin embargo. Buen descriptor del primer cliente que conduce, que es auténtico le hizo realmente al solucionador. Y por lo tanto usted está teniendo la SD hacer algún valor en realidad. Y por lo tanto en ese caso, así que esto es lo que, cuando todo esto va en el menú o tratando de lanzar la línea, no cuando esta noche para lanzar solo el servidor cuando contestó para lanzar el cliente y conéctate al mismo polo, entonces solo pasarán todas estas cosas, la n Entonces también estamos comprobando realmente, es decir, si el cliente está conectado al socket y este SDK estará teniendo algunos valor, no será 0. En ese caso, en realidad, solo estamos comprobando la condición en realidad. Y D se dice es lo que se esboza socket realmente descriptivo si es residente en esta lectura cada año. Entonces cuando esta función lo llame en cheque neutro después de la selecta solamente, podemos usar esta función en un soviético y comprobando si el socket cliente está presente en esta ciudad, el esfuerzo MDS no está presente. Eso significa que este descriptor de socket está listo para fines de lectura. Si está presente, eso significa que hay alguna actividad en este socket cliente para el propósito de lectura y tenemos que realizar la acción, tenemos que leerla. Esto es lo que inicialmente nada se satisfará en esta condición porque en primer lugar, no estamos agregando en realidad, aún no lo hemos agregado como d En realidad en este video de esto con el fin de monitorear que podamos comprobar después de la función select. Por lo que esto no será ejecutado. Entonces incluso si esto for loop se ejecuta hasta este punto, ya que inicialmente tu socket cliente está teniendo algún valor, este mensaje será impreso por esta condición no quedará satisfecho porque no estamos agregando esto. No estamos agregando el socket es el descriptor de socket cliente. En efecto la FDA, esta condición no será satisfecha. Así que de nuevo, ¿qué pasará? ¿ Qué condición es esta es todo nodo condicional completo con este completo completo si no se cumplirá condición. Entonces, ¿qué pasará? Nuevamente, el for-loop se incrementará en uno. Nuevamente, comprobaremos esta condición si es menor que mi cliente, luego otra vez socket cliente de uno como d. Así que ahora como d será 0 porque estamos teniendo sólo el elemento 0th de esta matriz a estar teniendo el primer descriptor de socket del cliente del curso, pero el socket cliente de mn es nada en realidad solo un cliente se conectó. En realidad, esto será 0 actuó este for-loop en realidad iterará hasta diez veces porque este valor que has dado como diez, esto iterará diez veces. ¿ También puedes aplicar un descanso? Si este valor en realidad es 0 en realidad, simplemente puede aplicar un break. Puedes agregar ese código también con el fin de evitar la iteración innecesaria del bucle for. Ahora, entonces, ¿qué pasará? En realidad, una vez que este bucle haya sido iterado por completo, entonces el control volverá a ir a la primera línea en este bucle while porque has dado mientras es cierto. Por lo tanto, seguirá iterando hasta que un analista no regrese. Así que de nuevo, el control va aquí en realidad. Ahora de nuevo, ¿qué pasará? Siempre recuerda una cosa. Por esta cosa. Esto es que he dado el inicio del bucle while porque tienes que inicializar siempre tu editor o leer un VS con valor 0 porque sabes que después de la función select, este dy dt ds se modifica con aquellos descriptores que están listos para la lectura propósito o sentido. Es más o modificado después de llamar a la función select. Por lo tanto, cada vez entonces este control viene al inicio de este bucle while y hay que volver a revisar en realidad lo mismo. Siempre hay que aclararlo en realidad para que no obtenga el valor sobre el valor anterior. Por lo tanto, tu 12 lo establece en 0 en el punto de partida de este bucle while, y luego estás configurando. Entonces aquí ¿qué pasará? Nuevamente, este socket maestro del alma ya está ahí. Esto será en, ya que estás despejando, la velocidad de B es. Entonces de nuevo, estás agregando este tipo de zócalo ocular a este Vds porque lo estás, lo has limpiado. Y entonces este máximo es D será la mancha. Ahora, ¿qué pasará? Veamos cómo van a ir las cosas. Estamos considerando que aunque estamos conectando un cliente está conectando al servidor en el mismo número de puerto. Por lo que estamos considerando que estamos teniendo un cliente. Ahora si consideras que en ese caso, ¿qué pasará? Nuevamente, se ejecutará este bucle for. Entonces esto es, se puede ver instrucciones línea por línea se ejecuta. Entonces, ¿qué instrucción es la siguiente? Es un for-loop iterando iss igual a 0 hasta que menos de diez es igual a 0, por lo tanto socket de cliente o 0. ¿ Qué? Sabemos que como un cliente ya está conectado, por lo tanto, somos capaces de ordenar campo en realidad el elemento 0º del socket cliente con el descriptor socket del primer cliente. Por lo tanto, esto devolverá un valor distinto de cero. Esto tendrá valor positivo, no será 0. Y por lo tanto esta condición que es mayor a 0 años, esta condición sería satisfecha. Y patio es el punto donde estás agregando tu socket cliente en el disco rojo, lee descriptivo sec. Muy bien, espero que sí. La lógica en realidad, no había cliente en realidad te dije que inicialmente nosotros, estamos inicializando en el descriptor de socket cliente a 0. En realidad hemos visto en Verdi, pero ese punto de deuda cuando esta instrucción habíamos ejecutado, habríamos visto ya que todos los elementos del array son 0, y por lo tanto, esto no quedará satisfecho. Lo hemos visto, pero ahora desde que estamos considerando que un cliente está conectado. Y por lo tanto cuando se ejecuta esta instrucción, el elemento 0º de la matriz está teniendo el conjunto descriptor del primer cliente. Y por lo tanto este será de valor distinto de cero. Y por lo tanto esto, eso significa que estás teniendo un cliente en realidad al que se supone que debes agregar el conjunto descriptor y por lo tanto estás llamando. Y dijimos, y este conjunto descriptor, este descriptor que es descriptor de socket de cliente, es decir SD que estás agregando en esta lista de lead. Ahora qué tienes de hecho la postura de la FDA mientras estás teniendo este tipo de zócalo que es maestro y su cosocket. Y también estás teniendo tu cliente que estás considerando está conectado, por lo tanto estás teniendo este descriptor socket de ese cliente en esta lectura de Deus a socket descriptores de término que están teniendo ahora lo que estás haciendo aquí, estás comprobando si socket de deuda como D es mayor que max como el único. Inicialmente tu max como d fue el zócalo de subrayado maestro. Ahora estás comprobando realmente que el SDI, ese es el descriptor socket del cliente. Supongamos que usted consigue que el descriptor socket del cliente sea mayor que el descriptor de masa por socket, entonces usted está revisando este fondo cada uno. Y en realidad, si es mayor que este subrayado máximo ya Stephen será modificado con ese valor descriptivo. Entonces esto es lo que estás haciendo. Curar. Entonces otra vez, el me incremente, me convierto en uno. Por lo tanto, comprobarás esta condición si es menor que México y él es, entonces verás aquí ese cliente socket subíndice uno. Lo que va a devolver obviamente ahora estamos considerando que sólo un cliente para estar conectado. Y por lo tanto este cliente socket subíndice uno tendrá el valor 0 y también el resto de ellos elementos de área tendrán el valor 0 porque solo un cliente está conectado. Por lo tanto, sólo el elemento 0º de esta matriz está teniendo el descriptor saccádico de la primera línea y el resto de los elementos de la matriz están teniendo ceros, por lo que este será 0 y ninguno de ellos quedará satisfecho. Entonces de esta manera, este bucle seguirá hasta máximo subrayado contornos y esta condición no satisfará de uno a máximo subrayado clientes en el, quedará satisfecho inicialmente que es Isaac igual a 0, luego agrega ese caso sólo en corte satisfecho más adelante de la iteración del bucle for. No quedará satisfecho una vez que haya completado esta iteración de bucle for. ¿ Y qué es malo? Simplemente un mensaje de visualización en realidad repos select. Ahora estamos llamando a la función select aquí. Ahora en esta función selecto de envidio llamada, En realidad estamos pasando este valor. Este valor se modifica max entendido como t aquí. Entonces este lead up DSO VR, líder FDA dice Habiendo comprado ahora al descriptor, es decir uno, el socket del servidor, líneas descriptivas, hiper sockets. Por lo que hay dos descriptores en esta escritura de DSB quieren monitorizar a ambos con fines de lectura. Y este valor null, null y este último valor nulo. Es decir hay que seguir esperando hasta que obtenga cualquier zócalo descriptor para estar listo. Por lo que hay que esperar y esperar. Por lo tanto, se le da este nulo. nuevo controlas en realidad, dependiendo del valor que des aquí se puede controlar. Por lo tanto aquí se va a seguir esperando en realidad. Entonces supongamos que hay alguna actividad en este socket cliente que no eras en realidad, en ese caso en realidad, va a seleccionar, volverá realmente sea ese conjunto descriptor. Este ejemplo he elegido porque supongamos que escribo algunos ojos, tengo algún mensaje en la consola de línea. Eso significa algo que estoy escribiendo en esa toma de línea, ¿verdad? Y eso sería, ese mensaje se debería leer en realidad, por lo tanto, ya que estamos monitoreando en nuestro programa con fines de lectura, por lo tanto, estoy escribiendo algo en el cliente para que podemos leerlo. 24. Session13 y la ejecución selecciona MultiClientServerComm 3rdHalf: Entonces por lo tanto hay algo que haber algunos datos para ser leídos en el socket cliente hasta ahora hemos visto esa celda. ¿ Qué es ese cliente? ¿ Hay alguna conexión ha sido aceptada, en realidad se ha enviado el mensaje de servidor a cliente. A continuación lo que vamos a hacer en realidad, vamos a tratar de escribir algo en el cliente. Una vez que escribimos algo en el cliente, eso significa que se deben hacer algunas actividades de lectura porque estamos escribiendo en el socket para el cliente y algunos datos ahí en ese socket de línea que se supone para ser leído. Y por lo tanto en ese caso entonces seleccione la función volverá realmente con algo. Después escribimos algo en el cliente, entonces volverá en realidad. Y entonces tenemos que revisar nuevo la condición en realidad donde la fila, que revisar cada una de sus incidencia aquí hay dos descriptores. Eso es uno para el servidor, uno para el clima. Percibe algunas actividades realizadas en el sitio del servidor. Visita esta condición se verifica. Por ahora cuando escribimos el mensaje en esa línea, no hay actividad realizada en el maestro, por lo que, esta condición no será satisfecha. Entonces, ¿qué pasará? For-loop está fuera de la condición de la punta. Por lo tanto, se revisará esta condición. Bacterias, esta condición te dije esto es Doumani, esto es para la operación de entrada IO en el lado del cliente. Entonces aquí yo es igual a 0. Y de nuevo, el socket cliente de 0 será, sabes, que eso ya es un cliente conectado. Por lo tanto, esto devolverá un valor distinto de cero. Por lo tanto, de nuevo, está revisando este 0º elemento de esta matriz tendrá el primer descriptor de la Postal es cliente en realidad. Entonces como estoy escribiendo algo, supongamos que estoy escribiendo algún mensaje sobre el clima, ver cómo lograré en realidad un lado y aseguraré el programa. Te lo explicarás, lo entenderás mejor. Te dirá entendido lo que estamos haciendo. Estamos de este lado, ¿dónde está su cliente, sus servidores están enviando mensaje a esa línea? Y supongamos que escribimos la consola cliente es hola. Entonces por lo tanto, hola es VR. Estamos escribiendo en el socket cliente. Por lo tanto se supone que hay algunos datos en el socket cliente y se supone que debemos leerlo. Y se ponen en ese caso. De nuevo, estamos comprobando. Hemos visto que se llama a la función select y ver si alguna actividad y sí, actividades realizadas en realidad, hay algunos datos disponibles en el socket cliente que se supone que debe leerse. Y por lo tanto, esta condición es Wilczek. V es igual a dicho, ese es el socket de declinación, si está presente en este líder VS. Te lo dije después de la función select, se modificará. Desde que agregamos llamando a la función select que está aquí, estamos llamando a la función select. Y desde que escribí algo en el cliente, había algún conjunto de datos que se supone que debe leerse en la consola, y por lo tanto esto se modificará para este líder VS tendrá el descriptor socket o en realidad no tendrá un descriptor socket del maestro porque no estamos haciendo nada sobre la discapacidad de oficial maestro modificado en el octeto. Selecciona las devoluciones en cada alelo. Esto es tener dos conjuntos de descriptores en un lado, escribir el mensaje, un lado, escribir el mensaje por un lado escribe cualquier cosa en el socket cliente. Esto tendrá en la línea descriptores, no en una acera. Y por lo tanto, la razón por la que esto no se satisfará en realidad, esa es ésta en este descriptor socket de servidores. Entonces noten no ahí porque estamos haciendo la actividad en la actividad de lectura del cliente que tenemos que hacer en el cliente. Y esa junta aquí. Ya que este valor es de valor distinto de cero y sí, ya he terminado. He escrito algún mensaje en el socket cliente que se supone que debe ser leído. Y por lo tanto la velocidad de VS está teniendo sólo el descriptor de socket de este cliente en realidad, y por lo tanto este MV es igual a establecer, sí. Y ahora lo que se supone que debemos hacer, simplemente estoy imprimiendo un mensaje que se mostrará en la consola y se supone que debo leerlo en el descriptor socket del cliente en realidad, y lo leeré y será, estaré recogiendo lo que leí de este descriptor socket del cliente que estoy recogiendo en este buffer. Este es el uso del buffer. Ya te lo dije, he declarado que este buffer un EDI realmente fuera de caracteres. Se puede ver aquí. Esto está en búfer, este mensaje, lo que sea que esté escribiendo en el socket cliente que quería leer en realidad para que recogeré en el buffer. En realidad la comprobación de errores. Esto es lo que verifica errores. Si se produce alguna edición al leer esta condición será satisfecha. Este bloque será ejecutado. Pero si la lectura es exitosa, este eds se ejecutará y se irá. Y esto es desde lo que le dije que sea lo que esté escribiendo en el socket cliente, veremos cómo estoy en robarlo. Después de completar explicando estas instrucciones, ejecutaremos el programa, entenderás lo que estamos haciendo. Entonces supongamos que estoy escribiendo cualquier mensaje en el socket cliente, se supone que debemos leerlo. Por lo tanto, esta lectura se hace. Nuevamente, saqué ya que vamos a hacer ocurrirá el mismo mensaje en el avión. Entonces si me perdí hola está en declive. Zócalo. Entonces lo siguiente en la siguiente línea, saldré solo porque estoy absolviendo lo mismo. Entonces cómo voy a conseguir el hola en la siguiente línea por esta cosa. Como condición tengo de nuevo enviar el mismo mensaje, el mensaje que son imágenes recogidas en el buffer. En realidad, se puede ver que vuelvo a llamar a la segunda función. Estoy llamando a la misma función y pasando el descriptor de socket de línea en sí. Y estoy pasando este buffer, que he leído en realidad desde el socket cliente. Eso sólo lo mismo que estoy pasando contra todo el socket cliente, verás lo mismo impreso en realidad. Así es como va el flujo. Por lo que absorberé que entendiste este punto en realidad. Entonces ejecutemos el programa y luego lo entenderás con más claridad. Entonces así es como se hace con la codificación. Este socket en realidad y débil de esta manera, podemos lanzarnos en número impar de líneas todavía no podemos exceder sólo portátil y los clientes se pueden conectar ya que estamos escribiendo aquí como socket cliente, cliente máximo debe ser diez dependiendo de su requerimiento. Si quieres anticlineas zócalos, entonces puedes darle este valor como trendy o puedes cubrir, definir ese valor. Ahora ejecutemos el programa y veamos cómo se ejecutará. Entonces este es mi dominó en realidad. Sólo un segundo. Sí. Puedes ver aquí estoy teniendo este programa que te he enseñado. Ahora, voy a compilar, ya que tenemos que compilar un programa C en el Lena's, estamos teniendo la factibilidad de ejecutar el comando en este símbolo del sistema en realidad. Entonces si se trata de un lenguaje C, por lo tanto estoy usando un compilador GCC, que ya está, que ya estaba instalado en sistema. No necesito instalarlo explícitamente. Entonces mencionaré qué archivo compilar herramienta de compilador GCC, herramienta compilador cruzado que se utiliza para programar el marco de lenguaje C. Por lo tanto, puedes ver aquí, puedes ver aquí no ha llegado ningún mensaje de error. Permítanme hacer ls a inicialmente oímos en este expediente C. Ahora después de compilar, voy en esto un punto fuera. Este es mi lado era ahora me dejo lanzar o ejecutar mi barra lateral simplemente ejecutando esto. Ahora, ya sabes, cuando intenté ejecutar el servidor, veamos qué va a pasar. Aquí se puede ver lo que me estoy recibiendo mientras recibo este mensaje que he dado del lado del Salvo oyente en el puerto 888, espera de la conexión. Sea cual sea el mensaje que haya dado en el lado del servidor, tengo todas las cosas. Valor del zócalo maestro a ser tres. Entonces esto es justo, solo saben cuál es el descriptor de socket del socket maestro en un socket de servidor. Así que acabo de imprimir este valor y son tres en realidad. Y ahora esto, todas estas líneas que está en cuatro bucle para agregar socket hijo. Por lo que puedes ver aquí, ya que no hay clientes, socket que se agrega en realidad porque no hay cliente que hayamos lanzado eso pero ninguno de ellos. Seremos área, área del socket cliente lo hará todo, tendrá todos los descriptores de 0 socket porque ninguno de ellos, no hemos lanzado ninguno, ninguno del socket cliente. Y esto es antes de seleccionar la celda. Se puede ver aquí antes del select en realidad eso significa esta pantalla que tenemos. Imprímalo ahora. Se puede ver cómo el control está esperando aquí. Es decir, nuestro control está atascado y la función de selección. Por qué empezaron en la función select, porque estamos mencionando el tiempo de espera a null. Sabemos cuando damos el tiempo de espera para ser conocimiento los estará esperando. Alguna actividad a ocurrir en realidad incienso para ser honesto, en este punto simplemente estamos agregando el socket maestro en fila impar, leer conjunto vacío. Por lo tanto, se monitorizará si alguna actividad va a ir en eso, en, de ese lado, qué socket habrá, no consiga un solvente. Qué actividad puede estar sucediendo en el socket del servidor si estamos tratando de lanzar plazo. Estoy conectado al mismo número de puerto en el socket. Entonces sólo habrá alguna actividad. Entonces lo hará, entonces obtendremos el mensaje después de seleccionar impreso en realidad entonces este selecto no se leerá. Esa es la razón por la que estoy mostrando este mensaje. Entonces como yo, para que puedas conseguir lo que estoy haciendo exactamente. Así que déjame mostrarte. En este punto estamos teniendo sólo sobrevivir lanzamiento nullclines lanzados. Puedes ver aquí en este cliente socket descriptores que son diez clientes sockets que estamos tomando y todos los scripts, esos, pero todos esos diez lineas zócalos inicialmente 0 porque ninguno de ellos como nos lanzamos, no estamos lanzando ninguno sobre ellos. Y este socket es para el lado del servidor, el socket maestro, que son, que simplemente estoy imprimiendo aquí. En realidad. Escuché en realidad. Y luego se puede ver aquí. Puedes ver aquí estamos recibiendo todos estos mensajes escuchando en el puerto, en el lado del servidor, esperando la conexión en el lado del servidor. Entonces este bucle while es bucle a través de este bucle infinito. Y depende cuando estés regresando, si estás saliendo de tu cliente, entonces esto volverá realmente. Entonces estas cosas, estamos dando esto iniciándote y puedes ver aquí. Md 0, todas estas cosas. Entonces, ¿qué está pasando? ¿ Ahora? Qué mensaje estoy recibiendo aquí, si puedes ver aquí, estoy recibiendo este mensaje en for-loop para soldar el zócalo de la junta. Esto es lo que en realidad aquí se puede ver que estoy imprimiendo el valor del socket maestro. Aquí. Se puede ver aquí estoy imprimiendo el valor del maestro Sócrates. El siguiente todas estas líneas que se imprime diez veces es esta. Esto estoy imprimiendo. Entonces inicialmente no hay clientes ahí. Por lo tanto, esta condición no será satisfecha. Y por lo tanto, ya que esto quedará satisfecho solo evento que sea una conexión de cliente y este valor será mayor que 0. Pero desde ahora un cliente como organizado se está conectando, no nos lanzamos ningún cliente y por lo tanto esto no lo satisfará en realidad. Y por lo tanto estamos consiguiendo diez veces este sprint en realidad ahora y estamos consiguiendo, este momento estamos consiguiendo antes de seleccionar en realidad. Se puede ver que se llama a la función de selección. Pero no estamos recibiendo este mensaje. Por qué no estamos recibiendo este mensaje porque está esperando un tiempo infinito. En realidad va a esperar y tratas de lanzar plazo. El cliente estará conectando al mismo tiempo número de puerto. En realidad seguirá esperando y no se le imprimirá este mensaje. Entonces dependiendo de cómo lo uses, si te dan, simplemente tienes treinta segundos, entonces se verá si el aire hasta ese momento has lanzado algún cliente, si no tienes conocimiento y el el tiempo de espera ha expirado, partido segundos o más, entonces simplemente regresará realmente, a partir de ese punto, en realidad no se leerá y se le imprimirá este mensaje. Pero como estoy mencionando este último argumento es nulo en realidad, por lo tanto está esperando y esperando hasta que obtenga una conexión de cliente. Por lo tanto, se puede ver la razón por la que he mostrado este mensaje para simplemente hacerte explicar. Ahora vamos a venir este dominante. Ahora vamos a lanzar el cliente en realidad, esto es, no lo hago, no se supone que escriba nuestro programa cliente I insulina. Con el fin de conectarse al servidor. Ya sabes conectarte. Voy a abrir una nueva terminal en realidad, y luego esa terminal te diré que en realidad hacen el número de puerto. Entonces en este lado, ¿qué está escuchando el número del puerto? 88884 veces ocho. Y por lo tanto voy, en el próximo dominante, simplemente Telnet en el mismo número de puerto. Eso significa que el cliente se está conectando a la luz lateral en realidad. Entonces veamos, una vez que los derechos del cliente para conectarse al servidor, qué pasará. Para que puedas ver aquí obtenemos este mensaje de display. Entonces déjame abrir una más. Dominante. Esto es diferente o militancia al dominio. Dominancia es posible signo y uno dominante, voy a tratar de conectarme al servidor. Entonces esa será esa línea. Por lo tanto se puede ver aquí, y lo que voy a hacer, mencionaré a ese anfitrión local. Aquí. Te daré el número de sondeo. Supongamos que te doy de esta manera. Telnet es conectarse al host local en realidad, ya que estamos haciendo esta comunicación en ese mismo sistema, y por lo tanto no estamos utilizando hacia laptops y nos estamos conectando usando en la misma máquina host. Y por lo tanto he dado el bucle y va la diabetes va a ser lo mismo sobre n cliente está teniendo la misma dirección IP y estamos escuchando en esto cuatro veces ocho en realidad. Y por lo tanto rho, este número de puerto que estoy dando este nodo deportivo en sí. Una vez traté de conectarme realmente desde el lado del cliente, lo que tengo en la consola de línea, probando de uno a 7 puntos, uno conectado al servicio local bajo, conectado al host local que está conectado al servidor. Porque mi plata está en el anfitrión local. Y este mensaje de acuse de recibo que se envía desde el servidor. Por lo que esta regla había mandado este mensaje lado a lado ha enviado. Veamos qué está pasando en el lado del servidor. Se puede ver aquí. Ahora esto hasta este punto en realidad tenía un control realmente consiguió, y luego a menudo trato de conectarme desde el lado del cliente. Estoy recibiendo todos estos mensajes impresos en el lado de nuestros sitios. Entonces ahora lo que pasa desde que estamos tratando de lanzar el cliente y está tratando de conectarse al servidor. Por lo tanto, esto, esto. Entonces como hay alguna actividad en la masa por socket esa placa, la función select ha devuelto el descripto masa modal adecuada por socket para fines de lectura. Y por lo tanto hay una nueva conexión que tenemos con qué mensaje es este? Se puede ver aquí. Recibimos este mensaje después de seleccionar en realidad, y esta condición está satisfecha. Es decir, esta condición se satisface porque esto está configurado, este socket de servidor es triste porque un cliente está tratando de conectarse. Por lo tanto vamos a exponer y conseguimos el descriptor socket del cliente. Y entonces simplemente estamos imprimiendo este mensaje en el lado plateado, es nueva conexión, una nueva conexión en línea enchufes. Entonces estamos imprimiendo este mensaje y estamos enviando este mensaje realmente a esa línea. Estos mensajes, ¿cuál? Este mensaje para esto es este mensaje que te dije. Agradecimientos. Y de esos, se puede ver aquí, estamos enviando este mensaje aquí desde el sitio del servidor. Entonces estamos imprimiendo este mensaje en el suelo en el lado del servidor. Así que acaba de volver a la consola en realidad se puede ver aquí por lo tanto, este mensaje, esto es sólo imprimir f, que he dado en el sitio del servidor mensaje de reconocimiento. Y entonces este es el mensaje que este ya envía. En realidad cuando llamamos a la misma función desde el programa del servidor, entonces este mensaje será enviado a los clientes. Entonces por el lado cliente, se pueden ver los mensajes que recibió. Se puede ver cómo el lado, mientras que comunicarnos con esa línea, cómo ha dicho el mensaje que obtuvimos de los datos del servidor cliente, ahora, lo segundo que veremos, ahora, simplemente tenemos el descriptor del socket del servidor en la base de datos. Y hagamos actividad en el socket cliente. En realidad, vamos a escribir algún mensaje y veamos en realidad ahora cómo agregará el descriptor socket del cliente a la lectura de ideas y cómo lo monitorearemos realmente con fines de lectura. Lo que vamos a hacer, sea cual sea el mensaje que demos aquí al lado del cliente, dije que quiero, estaré imprimiendo en el propio cliente. Entonces supongamos que estoy dando aquí, así niñera, este mensaje, una vez que entre, en realidad, este mensaje será enviado al lado del cliente. En realidad, por lo tanto, algunos datos están disponibles en el socket cliente que se supone que debe leerse. Supongamos que presiono Enter, se puede ver que me dieron tsunami, un código en el mismo sitio cliente. Entonces esto es lo que quería explicarte, que estoy escribiendo algún mensaje en el socket cliente. Por un lado, escribo el mensaje como únicamente en el socket cliente. ¿ Qué pasará? Vengamos aquí. En este punto. Se puede ver aquí, una vez que el control vaya aquí, en realidad, de nuevo, el control viene aquí ya que inicialmente esta, esta condición no quedará satisfecha porque no estamos agregando el socket cliente para leer FDA. Pero tenemos realmente este valor, pero en realidad hay clientes son 0 va a estar teniendo socket descriptor antes de que su cliente para ello será valor distinto de cero para esta condición estará satisfecho y estamos agregando este socket de línea realmente descriptor en esta lectura IVS. Y por lo tanto, ahora podemos monitorear en realidad porque también estamos agregando ese socket de línea en ese lector a través del descriptor de socket. Una vez que esta función de selección estará esperando realmente leer la FDA estará teniendo dos descriptor de socket, un descriptor de socket para esta línea de producto descriptor de un socket. Ahora ya que nosotros, una vez que escribimos el mensaje realmente en el lado del cliente en realidad se tecleará y el mensaje en el cliente como conocimiento en eso es lo que va a pasar. Algo está muerto en el socket del cliente. Hemos escrito algo raro, creo que algo en el socket cliente realidad que es como deco, se supone que debemos leerlo. Había algunas actividades netas en la línea, propósito de utilidad, y por lo tanto, esta función de selección volverá realmente. Por lo tanto, esta condición, una vez que se comprobará, es decir cada conjunto, este descriptor de socket no será criado en este video ds, como te dije después de la función select a la que se llama, entonces en ese caso volverá con sólo aquellos descriptores que ya están listos para fines de lectura ahora deben ser no están haciendo nada en el socket del servidor. Estamos escribiendo en el socket cliente y algunos datos es que en el socket cliente que se supone que es rojo. Y pongo esta condición no será satisfecha. Sí. Entonces, ¿qué pasará? Entonces este for-loop está muerto fuera de esta condición y por lo tanto, estamos revisando de nuevo esto para bucle iterará en realidad, será esa cantidad de tiempo. Por lo tanto, este socket cliente a partir de ceros, por lo que sabemos que solo hay un cliente ahí, y por lo tanto este será de valor distinto de cero. Y por lo tanto estamos comprobando FD se establece si estás comprobando si alguna actividad, si este descriptor de socket de cliente es presidente lee un VS. Sí, está muerto en esta mujer porque estás, tienes razón. Has escrito algo en esa toma de línea que se supone que es roja. Por lo tanto, este video ha sido devuelto. En realidad, es n Este valor se modifica con el descriptor de socket o aplicando, eso significa esto. Por lo que descriptores de fútbol ciegos presentes en esto en VS en realidad, porque esto se modificará después de llamar a la función select con aquellos descriptores que estén listos para fines de lectura. Desde ahora la actividad se realiza en el nivel de aplicación solo cliente de deuda es bacteria activa y esto será cierto. Y en ese caso obtendrás clientes de calificación de calidad se dice este mensaje que vas a estar recibiendo en qué sitio y lo que estás haciendo realmente aquí. Tenías leyendo ese mensaje, estás llamando a la función de lectura. Cualquiera que sea el mensaje que tengas. Por lo que he escrito únicamente como en el socket cliente. Entonces ese mensaje será que estoy recogiendo en el tampón. En realidad eso terminará concedido ese mensaje. Y desde que mandar tener éxito. Si otra condición será satisfecha y ese único mensaje estoy tratando de enviar. Para que puedan ver que estoy llamando a la misma función y este es el descriptor de socket para esa línea. Estoy enviando el mismo mensaje en realidad a este socket cliente. Voy a enviar este tsunami encendido. Dado que este mensaje que estoy leyendo desde el socket de línea oscura es que estoy recopilando en el buffer y estoy analizando el mismo mensaje llamando a la misma función. Esa es la razón por la que estoy haciendo eco. Por lo tanto, voy a llamar a la misma función. Eso significa que estoy enviando el mismo mensaje al cliente y recibo este segundo mensaje para ser impreso aquí. Espero que hayas entendido toda la lógica. En realidad usando la función select, cómo se puede tener un control, cuánto tiempo necesita ser. Si quieres esperar solo diez segundos, treinta segundos, simplemente puedes cambiar este valor. Esto es solo para explicarte cómo puedes tener la factibilidad para cambiar el tiempo, cómo puedes controlar realmente la cantidad de tiempo. El selecto. Nuevamente, espera, En realidad, si quieres segundos de fiesta, puedes esperar ese tiempo también. Aunque, la programación de metas todo sobre. Entonces lo haré. Así que te comían todas las cosas. Vamos a encendernos a sí. Estamos terminados con toda la redacción del programa y ejecutamos el inglés para lograr través de la comunicación celular multi-nube. También una cosa más de amigos. Permítanme también mostrarles lanzamiento, lanzar otra terminal en realidad solo un segundo. Sí. Este fue solo un cliente o supongamos que estoy tratando de conectarme. Estoy abriendo la tercera terminal. Y de nuevo, lo mismo. Esto también es esto también, sí, Esto es que estoy tratando de lanzar un segundo cliente. Esto fue lo que poetas clientes. Por lo que se puede ver tres terminales o servidor de puerto terminal, un cliente de propósito comunal, y segundo uno dominó es posible. Segundo pulmonale se forma ante su cliente y para el segundo plano. Entonces supongamos que estoy haciendo esta fuente. Nuevamente, intentará enviar, nuevamente este cliente envía una solicitud, solicitud conexión al servidor, por lo que de lado lo aceptará realmente N enviará un mensaje de acuse de recibo al segundo cliente. En realidad, se puede ver acuse de recibo enviado desde el servidor. Y supongamos que los mensajes, hola, mensajes , hola, mensaje de buenas noches será nuevo un código realmente encendido para el cliente. estamos escribiendo, digo, hola. Se puede ver cuántas mentes de personas he conocido a. Ahora viene. Ahora, estamos terminados con toda la redacción del programa y ejecutando usando el select. Con el fin de lograr la comunicación del servidor multilínea, se puede ver cómo el selecto este factible. Ahora, en la próxima sesión, estaremos viendo estas cosas en realidad lo que todas las cosas vamos a cubrir. Sólo un segundo. Sí, estaremos cubriendo lo que es el zócalo sin bloqueo. Entonces, en primer lugar, como les dije, no debemos ir por el enfoque de crear un hilo para cada avión, que Clínica de Derechos, la hemos visto decidir una páginas en la sesión anterior. Entonces en lugar de eso, podemos usar la función select. También he escrito el programa que es también otra forma para lograrlos, rechace la comunicación satelital y es por eso que estás haciendo el socket es sin bloqueo, bloqueo que vamos a estar viendo en la próxima sesión. Además, estarás viendo la diferencia entre los dos enfoques. Es decir, con el fin de lograr un enfoque de comunicación multicliente-servidor, como usar la función select. Ya hemos visto cómo lograr cuáles son las ventajas y también la diferencia entre el socket sin bloqueo para que te veamos en el octeto cubriendo lo que es socket no bloqueante en el siguiente sesión, entonces veremos la diferencia cuándo usar el Select, cuándo usar el no-bloqueo. Entonces todas estas cosas estarán cubriendo cuál usar cuando ya sea seleccionar en una toma de caída, todas estas cosas estarán cubriendo y cómo hacer que el zócalo sea no-bloqueo que te explicaré. Otra sesión voy a dedicar para escribir el programa y ejecutarlo usando sockets no bloqueantes. Entonces ya que hasta ese momento vamos ser conscientes de cómo hacer un socket es sin bloqueo. También escribiremos un programa y ejecutaremos en Linux usando lenguaje C. Hacer el zócalo es sin bloqueo. Entonces todas las cosas que estaremos cubriendo en la próxima sesión. Por favor, prepárate para la próxima sesión. Gracias por ahora. Gracias. No son amigos. 25. SocketSession14 Makingsocket como no la de la de la NonBlockingSocket: Hola amigos. hoy veremos cómo hacer el socket como no bloqueo con el fin de lograr el servidor multicolor y sistema operativo Linux usando el lenguaje C. Previo a esta sesión, hemos visto un enfoque diferente con el fin de lograrlos y la comunicación del servidor cliente. Y eso fue mediante el uso de la función select y hemos visto por ella se utiliza así como los detalles al respecto también, hemos escrito el programa y ejecutado el sistema operativo de enfermera. Ahora veamos que el enfoque diferente para hacer que el socket sea sin bloqueo con el fin lograr la comunicación multiclase del servidor. Entonces veamos los temas que vamos a estar cubriendo en esta sesión completa de hoy. Estaremos viendo cuál es el socket sin bloqueo. Entonces la diferencia entre los dos enfoques con el fin de lograr la comunicación anticlineas del servidor. Esa es la diferencia entre la función Seleccionar y luego enchufes no bloqueantes. Entonces ya que hemos visto cómo utilizar la función select y el programa así como la ejecución de la misma. Ahora aquí en esta sesión, estaremos viendo socket sin bloqueo. Por lo que una vez que se cubra este tema de socket sin bloqueo y vamos a cubrir esto, la diferencia entre función basilica y el socket sin bloqueo. Entonces lo siguiente estaremos cubriendo cuál usar. Leamos. Entonces. Tenemos que utilizar la función select. Todo lo que tenemos que usar el socket sin bloqueo y fin de semana de los hombres. E incluso en ellos. Entonces estaremos viendo cómo hacer que el socket sea sin bloqueo. Veremos el ejemplo. Estos son los temas que estaremos cubriendo y liberaremos tal y que nos dejemos hacer uno por uno. El primero que son los enchufes no bloqueantes. Entonces, ¿qué hace este zócalo sin bloqueo haciendo el socket como no bloqueo? Verificaremos si se ha producido el evento. Y en caso afirmativo, entonces procesará en un momento en sí mismo un otro, volverá inmediatamente sin completarlo, y de ahí las celdas y el propósito de socket no bloqueador. Por esta definición, significa que te estará revisando y recogiendo el zócalo es sin bloqueo. Y supongamos que estamos llamando a la función, entonces en ese caso se llamará a la función principal independientemente de si los datos están presentes o no. Volverá de inmediato. Por lo que los datos infantiles son bien presidente y lo leería y regresará después de leer los datos. Pero los datos no están presentes en socket que lo has hecho como un no-bloqueo. No esperará los datos. Simplemente devolverá una hora de acostarse en sí, por lo que volverá de inmediato. Para que puedas entender cada vez que hacemos el socket como no bloqueo, no se supone que lo hagamos. Simplemente se supone que actuamos de inmediato. Por lo que volverá de inmediato que esto se trata de la fabricación del zócalo como No bloqueante. Entonces veremos lo que podemos lograr haciendo que el socket sea sin bloqueo. Entonces el ejemplo en realidad lo mismo, un ejemplo que te he dado ahora, es decir si haces que el socket es sin bloqueo y si llamas a la V, y si estos datos en el socket, entonces lo leerá. Pero si no un entero devuelve correctamente embed es datos. Eso no es dato, entonces regresará inmediato sin esperar a que vengan datos. Por lo que esto solo M explicó ahora, espero que entendáis ahora, cuál es el propósito de hacer el socket es el no bloqueo. ¿ Qué cosas se pueden lograr? ¿ Entonces? También volverá, y ese es el error ya que no hay datos en el socket y estás llamando a la función, no hay datos. Entonces como un comportamiento es que no se supone que lea, por lo dipolo volverá de inmediato. Por lo tanto, se puede entender que tiene, ya que no hay datos no podría realizar la lectura en realidad, sin conocerla volver de inmediato y devolverá el error. Eso es E bloquearía ya que la auditoría puede volver más adelante como la misma. Es decir, de nuevo, ¿qué significa esta flecha? Significa que la llamada de lectura habría blogueado, pero está scripted, se colocó en el modo no bloqueo y te vi apoyo para llamar a la lectura de la a veces. Entonces. Espero que hayas entendido este significado de este error. Significa que la función de comer llamada madura podría haber sido la llamada de acoplamiento en realidad es. Pero tú, tú, ya que estás haciendo el descriptor es modo sin bloqueo en realidad antes que devolviera este aaron por el dicho que podría ser una llamada de bloqueo porque puedes entender que no hay datos, y por lo tanto, si no hay datos se suponía que leyera. Pero como estás haciendo el socket es sin bloqueo. Está diciendo que usted había hecho todavía este socket es sin bloqueo. Por lo tanto, no lo esperó un poco , regresó de inmediato. Entonces eso significa que se supone que debes llamar a la función de lectura después algún tiempo para que cuando llames después de algún tiempo, pueda suceder. Eso y la hora de acostarse presente en el zócalo. Entonces así es como logramos las cosas realmente en caso de, en caso de que hacer el socket sea sin bloqueo. Para que puedas entender el comportamiento. Es así como realiza la funcionalidad cuando haces que el socket es sin bloqueo. Por eso espero que entendáis cuál es el propósito de hacer que el socket sea no bloqueador y cómo se comportará. En caso de la función select. Cuál era el caso select function ME se suponía que debía evitar enviar todos los descriptores que queríamos monitorear, y B estaba dando el tiempo de espera ese plazo hasta qué hora debería ser. Si algunos de los enchufes están activos, Listo, listo para leer, ya, listo para escribir. Y en ese caso, devolvería número de, devolvería esos enchufes y se realizará la operación de inmediato. Dentro de ese plazo de Sócrates no se activaría, entonces no devolvería ninguno de los enchufes y operación habría realizado en caso de la función select. Entonces es como, dependiendo del tiempo de espera, se puede controlar la función de selección. ¿ Qué cantidad tienes que sangrar en realidad, y sea cual sea el resultado si es si hay datos o si no hay datos, pero caducará. Después de eso. Yo monto en realidad. Pero en este caso se puede ver que regresará inmediato si hizo que este socket es sin bloqueo. Y si no hay datos, entonces volverá con esta edición. Y de nuevo, puedes llamar a la función de lectura y simplemente puedes comprobar si la defensa presente y en caso afirmativo, lo rehizo y regresa. De no ser así, aún volverá inmediatamente de nuevo, simplemente lo llaman intervalos de tiempo. Puedes llamar a la misma función de lectura. Así es como esto se comporta cuando haces que el zócalo no es bloqueante. Eso espero. Entendiste la diferencia. Veamos. Ahora, el ejemplo que he explicado haces llamar a la función de lectura si haces el socket es el modo sin bloqueo. Ahora, en el caso del Unix, realidad si se trata de un sistema operativo Unix o Linux, entonces el error que puede venir en realidad cuando no hay datos en el socket puede ser cualquiera de los bloques. Considerando que si es un mal como es, si se trata de un sistema operativo de ventana y Beanstalk que estás utilizando. En ese caso, el error si no hay portón en el zócalo será de este tipo, es decir W SAE woodblock. Entonces esto es solo una diferencia entre las flechas en el caso de los berlineses así como el sistema operativo Windows. Por lo que ahora debes revisar el código de error que es número de error en el unix. Y si es Windows, entonces deberías ver por WAC, perderte la función de error. Simplemente puedes seguir adelante con otras tareas y el pulgar de nuevo más tarde para leer el socket. Pero si es cualquier otra área de socket, entonces tienes que manejarla. Entonces es lo mismo, pero en caso que si cumple el socket es sin bloqueo. Entonces si no hay datos presentes en el socket y aún así se llama a la función de lectura. En ese caso, no regresará de inmediato y arrojará el error. Entonces, para mejor, conocerás que se supone que debes llamar de nuevo a la función de lectura. Mientras tanto, se puede llevar con otras tareas. Por lo que de esta manera no hará que tu programa sea de bloqueo. Puedes Eddie con algún otro preguntar, tu programa no se escalonará. Y también puedes terminar si se trata de algún otro error. Si no es esta edición realmente la que está especificando que si es otro error, entonces hay que manejarlo. O cada zócalos en caso de lugar de encuentro el zócalo es no bloqueante. Todo esto se trata del no-bloqueo. Ahora veamos el otro tema en esta sesión que es diferencia entre la función select y hacer que este socket sea sin bloqueo. Estas diferencias vamos a estar viendo. Entonces puede preferir desarraigo de llamar a la función select con el fin de lograr declinaciones de comunicación del servidor. Entonces, ¿qué pasa? En primer lugar, las cosas que requerirá. Aprender algunos conceptos nuevos en realidad, así como escribir de 20 a 25 líneas de código. Por lo que hemos visto cuando usamos la función select en el propio programa en la sesión anterior, podemos haber visto que requerimos aprender algunos conceptos nuevos como conjunto vacío en realidad y se utilizan macros modales, qué se utilizan todas las funciones y qué se supone que debemos hacer. Y hay líneas, estas líneas predeterminadas de código tenemos que escribir cuando usamos la función select que es obligatoria. En caso de que cuando hagas ambos, socket no es bloqueante cuando no usas select y haces que este socket sea sin bloqueo. Y en ese enfoque, ¿qué es eso? En primer lugar, implica menos evento deportivo que hagamos el socket es sin bloqueo. Se implicará un show de adultos de puntaje de plomo en el programa en la próxima sesión también verá un ejemplo sencillo. Hacer tres líneas de código cómo lograr el no bloqueo. Pero escribirás un programa correctamente programa y lo ejecutaremos en la siguiente sección, veremos involucra menos código. Y sólo hay que modificar sus pruebas y para los errores agregando la prueba para un woodblock y E nuevamente, así que lo que se supone que debe hacer. Aquí, cuando haces el zócalo es sin bloqueo. En primer lugar, implicará el código menos y sólo hay que añadir la prueba. En realidad, hay un error. Se bloquearía y EOG y luego hay que agregar algún código para eso. En realidad, eso es que puedes llamar de nuevo a la misma función, hay otras flechas, entonces tienes que manejarla. Esto es en realidad respecto a las líneas del código. Hay más líneas de código y función de selección, pero menos líneas de código en sockets no bloqueantes. Si quieres decir que el socket es sin bloqueo, entonces la siguiente diferencia es que cuando usas la función select, tenemos que escribir de 20 a 25 líneas de código. ¿ De acuerdo? Entonces podemos utilizar, podemos volver a utilizarlos cambios mínimos, mínimos para poder gestionarlos múltiples tomas que voy a guardar los socrates, entonces requieres agregar cambios muy pequeños en para gestionar los múltiples enchufes. Entonces como ya has escrito 2225 líneas de código para la función select puedes reutilizar las mismas líneas de código. Dado que tienes que manejar múltiples tomas, en realidad solo se requieren cambios mínimos. Esto es sólo lo que solo tienes que escribir estas líneas de código y los cambios cada vez que modifiques, esto no estará en gastos generales. Será sólo en cambio mínimo en el caso cuando utilice la función de selección. Mejor en caso de la toma sin bloqueo, hay que personalizarlos para manejar cada uno de los enchufes para tomas diferentes, diferentes. Tendrías que manejarlos en realidad, y su comportamiento también puede ser diferente. Puede lanzar flechas diferentes para que tengas que manejarlas. Entonces esto es cosa que tienes que hacer en caso de los enchufes no bloqueantes. Pero esto se gestiona cuando se utiliza la función select. Una vez que haya escrito estas líneas de código, si tiene que modificar, se requerirán cambios mínimos. Ahora, la otra diferencia en realidad hace una pausa select. El código se recogerá en un solo lugar de tu código, mientras que el código para apoyar la cocción del socket es sin bloqueo se distribuirá a lo largo de tu código. Y esto un complicado mantener el código para que puedas entender dónde esta descripción que lo que está diciendo. Está diciendo que cada vez que esté utilizando select en un solo lugar, puede recopilar toda la pieza de código que se requiere para que utilice la función select. Pero cuando prefieres un enfoque diferente para hacer que el socket sea sin bloqueo, ese enfoque que prefieras, en ese caso, en todo el programa, se distribuirá tu pedazo de código. Y esto también puede complicar el mantenimiento del código una vez que aumente sus enchufes sin procesar. En realidad, en ese caso, puede complicar realmente mantener todo el programa. Lo siguiente en realidad, cuál usar cuándo y si usar select sobre si usar no bloqueo cuándo usarlos. El anuncio teniendo su importancia. Veamos. En primer lugar, podemos ir a seleccionar acercamiento si querías centralizar el manejo en declines y probarlos y manejarlos al mismo tiempo. Este es el caso cuando debes preferirlos. En tanto que puedes ir por el enfoque de socket sin bloqueo si quieres que la luna distribuya hermoso enfoque. Esto se debe a que estas son las cosas cuando tomaste el primer selecto cuando debes reportar hacer el socket es sin bloqueo. Cuál es la necesidad del menú Seleccionar debe utilizar el Seleccionar que veremos. Y luego cuando deberías usar un no funcional que veremos aquí en este tema. Entonces, en primer lugar, innecesariamente del selecto. Entonces cuando escribimos la plata, entonces sabemos que debemos estar listos para reaccionar por los eventos de los medios que le pueden pasar al servidor. Estos incluso escáner, bueno. Estoy enviando la solicitud al servidor pueda identificar y desconectar, leer y escribir. Todos estos eventos ocurren una vez que se lanza el servidor. A medida que estas llamadas están bloqueando, leyendo, escribiendo todas estas llamadas bloqueándolo procesándolo explica cuáles son cualquiera de ellas. En realidad otros dos eventos serán hasta que se complete el trámite sobre la corriente incluso. Y así ocurre la necesidad de seleccionar lo que está diciendo. Se está diciendo supongamos que desde que lanzamos este servicio será ninguna red puede ser eventos diferentes ocurriendo en realidad, supongamos que alguna lectura está sucediendo. En ese caso, el servidor está ocupado procesando la lectura y no hay fecha, bloque de título, otra parte de su programa será sellada. No será capaz responder a otros eventos realmente que están sucediendo. Entonces esto es, esto es lo que sucede en realidad. Y por lo tanto, en ese caso hay que referirse usando la función select. Entonces eso es lo que estoy mencionando aquí, es decir, se requiere este selecto. ¿ Cuál es esta necesidad de utilizar la función select? Esto no es necesario. Podemos evitar el bloqueo en realidad, también puedes procesar otras tareas. Puedes utilizar la función select y con el fin de evitar bloquear tu programa. Entonces también en eso en selecta lo que damos damos la lista de llamadas de acoplamiento para monitorear. Sí. Y bloqueará todo el tiempo. Cualquier persona en una llamada de bloqueo se vuelve listo. Ese selecto entonces no será bloqueado Una vez que causó ya uno. Para que puedan entender lo que estamos diciendo. Estás diciendo que, ya sabes, dejando seleccionar estamos dando a este perro descriptores zócalos, enchufes, descriptores que estamos dando que se enumera en los enchufes. Que tenemos que monitorear para leer o escribir en realidad. Entonces, ¿qué pasará? Y estás dando el valor del tiempo de espera. Por lo que el valor demoed que sabemos se utiliza para controlar cuánto tiempo debe ser la función select. Dependiendo de qué valor estás dando. Un tiempo de espera, volverá de inmediato, auditoría volverá, obtendrá cuatro independientes. Sigo siendo una nueva actividad sucede en realidad en los enchufes que usted ha dado. Tienes un control. En realidad, lo que se supone que debes hacer. Se trata de la selección. Entonces lo que es innecesario en el socket sin bloqueo por parte este proveedor es el socket sin bloqueo se requiere. Entonces supongamos por la codeína selecta, ¿qué pasará? Obtendrá lista del evento listo que debe procesarse después de que se haya realizado la llamada de selección. Cuando obtenga algunos de los descriptores de archivos que están listos, devolverá ambos. Voy a descriptores que ya están, en ese caso ¿qué va a pasar? Puede suceder en el momento en que el servidor y haga la llamada. Supongamos que un lapso del socket que habrías dado en la función select está listo para su lectura. La función select le devolverá ese descriptor. Y puedes simplemente procesar simplemente llamando a la función de lectura, ya que sabes que ese socket listo para leer funcionalmente, pero permítanme decir que está presente en él. Ese tiempo en sí la situación podría haber cambiado. Ese es el cliente que envía los datos, puede desaparecer antes de que tratemos de leer, antes de que usted esté realizando el líder. En realidad en ese momento la situación ha cambiado con este cliente enviando los datos puede desaparecer. Ver, siempre se puede predecir lo que puede pasar. Supongamos que el cliente está enviando algunos datos al servidor. El servidor está tratando de leerlo entre sí. Únicamente. Algunas leyes de conexión se han desconectado y los datos, por lo tanto, uno nuevo, no accionamiento puede ocurrir en cualquier momento que no podamos predecir. No sólo en ese caso lo que sucederá. Se estaba comportando correctamente. Te devuelve descriptores que, que se activaron en realidad en el que tienes que procesar la funcionalidad de edición. Bendición. Pero en ese momento solo ocurrió alguna situación debido a la declinación se desconectó. Y ese cliente estaba enviando los datos en el socket que se suponía que debía hacer el servidor. En ese caso, finalmente, la lectura no sucederá. En ese caso, se puede preferir escoger el zócalo es sin bloqueo. Entonces esta cosa no conocemos a Mia y liberamos estas cosas que no sabemos cuándo puede pasar. Son cosas impredecibles las que hacia arriba y ese final resultan en resultados impredecibles. En ese caso, se informa utilizar este enfoque para cumplir con el socket es sin bloqueo. Entonces porque sabemos que entonces hacemos que el socket es sin bloqueo. Entonces supongamos que estás llamando a la función de lectura. En ese caso, se llamará a la función de lectura y si hay datos presentes en ella, la leerá y volverá con éxito. Pero si no hay datos presentes en ella, no hay problema, todavía volverá realmente de inmediato y te dará, ambos están diciendo que ya que los ricos deberían haberse convertido en la llamada de bloqueo porque no hay datos presentes al respecto. Pero aún así hiciste el descriptor, ya que sigue siendo que hiciste el socket es sin bloqueo. Ahora su soporte, Se llama de nuevo la función de lectura después de algún tiempo, se llama de nuevo a la función de lectura. Si no hay datos regresará de inmediato. Nuevamente. Llamas a la función de lectura. Si hay datos, leerá los datos y volverá. Entonces así es como el non, Así es como se comporta menú significa que el socket es sin bloqueo. Entonces todo esto se trata. Entonces este es otro ejemplo. En realidad, si hacemos la llamada a aceptar S sin bloqueo, así que se supone que estoy haciendo que el socket sea sin bloqueo y los estamos llamando excepto función excepto sucede primero en la acera. Y siempre que haya una conexión desde la línea. Así sentido de línea de solicitud de conexión en caso de que los servidores servidor exhiban conexión. Pero ya que estás haciendo el socket es sin bloqueo y esa es la llamada de aceptar. Todo en ese índice y nieve incrustada y en realidad no enviando ninguna conexión y aún acepte esta llamada. Y esto aceptar es no bloqueo porque estás haciendo que tu socket sea sin bloqueo, entonces ¿cuál será el comportamiento? Volverá de inmediato. Por lo que se puede entender en realidad que excepto este lado, no hay línea que envíe la solicitud al servidor aún acepte. Eso significa que allí no hay conexión y volverá de inmediato. No será para la solicitud de conexión. No bloqueará que su programa llegue para la conexión de flexión. Volverá de inmediato. Incluso si no hay conexión, regresará de inmediato. No va a esperar, pero te da el error en realidad como bloque malvado solo de nuevo diciendo que excepto podría haber sido el bloqueo porque ya que no hay conexión, aún así hiciste el zócalo es sin bloqueo y por lo tanto tiene que regresar de inmediato. Por lo que se supone que debe llamar a la función de salida después de algún tiempo. Este es el uso en realidad que hiciste este socket es sin bloqueo. Tienes que comportarte de esta manera. Entonces así es como funciona. Ahora, estaremos liberadores. Esta cosa en realidad va a estar escribiendo el programa en ítem la próxima sesión y estaremos ejecutando. Estará viendo cómo hacer que el socket sea sin bloqueo y veremos su ejecución. Así es como en realidad es posible que conozcas el tema es decir, cómo hacer un socket es sin bloqueo. Entonces esto es, así es como logras hacer que tu socket sea sin bloqueo. Tienes que tener un softbol, usar la llamada del sistema FFC y TL. Tienes que realizar estas llamadas al sistema FC y TL o qué es esta función f, c y d l. Realiza las diversas acciones sobre descriptores abiertos. Descriptores son sus descriptores de socket aquí. Por lo que realiza diversas acciones en el, en el descriptor de socket abierto está el socket descriptores micelle abierto realizará diversas acciones, como obtener, cambiar el atributos de un archivo en el descriptor de socket. Entonces, lo que puede hacer, dos acciones que puede realizar Nick atributos atractivos de los descriptores de socket están cambiando los atributos de los descriptores de socket. Hasta ahora, los descriptores de socket, se puede entender que puede ser diferente en las revisiones. Entonces supongamos que hay que hacer que el socket sea sin bloqueo, por lo que hay un quad ella. Puede cambiar estos atributos dependiendo del requisito en realidad. Por lo que preguntaste sobre simplemente supuestamente llamarlos FC y tratar con el fin de hacer que el socket sea sin bloqueo. Por lo que verás a continuación cómo usar este FC y TL. Así es como se usa. En primer lugar, darás el primer argumento como descripción. Se trata de un descriptor de socket en el que tiene dos sobre el modo de acción. Y el segundo argumento le dará el mando. Entonces lo que Amanda, Tienes que dar, dependiendo del requisito, lo que quieras realmente en el socket para realizar ese comando que vas a dar y las líneas que puedas entenderlo puede tener una serie de argumentos aquí. Esto es lo que se supone que debe hacer, y este es un ejemplo en realidad post-operatorio. Lo que estamos haciendo si tienes que hacer este socket es sin bloqueo, llamando a este sistema de funciones llamado f, c y d l. Y estamos pasando el primer argumento como descriptor de socket. Y el segundo es un comando. Por lo que hemos visto en realidad esqueleto dejar que esta fuerza será el descriptor socket y el segundo estará entre los que se desea realizar la acción. Estos tres argumentos, es opcional para usted. Aquí estamos dando este mando. Queremos que esto venga, vamos a realizar en el descriptor socket. Y luego otra vez, estás llamando a la misma función. Estás pasando el descriptor de socket y estás dando esto, estás llamando a esta función, lo harás, estás dando este comando en ella. Quieres establecer realmente esta cosa en realidad en el descriptor de socket. Y dado que estos tres puntos, que aquí se menciona, estas son opciones. Entonces aquí en esto, hay que hacer dar la bandera dice no-bloque. Así es como estas dos líneas de código que tienes que escribir cuando haces que el socket es sin bloqueo. He afirmado en cuál es el propósito de este mando? Consigue el relleno. Obtiene la bandera abierta o adopta este guión. Y FCA hasta la lectura, devolverá estos resultados. Esto obtendrá la fuente. Aunque, lo que esta discapacidad visible haga realmente este comando va a hacer, abrirá el descriptor socket y devolverá esos X como resultado en realidad, por lo que esta bandera será regresó. Este es el propósito de esta gamma y la SEC FL vamos. Amanda somos nosotros para mantenernos bandera status. ¿ Cuál sería el descriptor de socket fin de hacer el socket es sin bloqueo. Se puede utilizar esta bandera en realidad que está subrayado no bloqueo. Cinco obsoletos. Usted entendió este comando en particular que se utiliza para obtener las banderas abiertas que están ahí para el socket es volteado y derogado. Devolver eso aquí en esta bandera y configurarlo se usa en j por ciento, este estado script de orden negro. Entonces puedes usar esto con el fin de hacer tu, es en el modo no bloqueo. Es así como logramos hacer que el socket sea sin bloqueo, bloqueando. Por lo que vamos a hacer uso de ella en nuestra próxima sesión, usted estará escribiendo el programa. Hacer el socket no es bloqueante para lograr la comunicación multicliente-servidor, aunque todo esto se trata de hacer que el socket sea sin bloqueo. Entonces todas estas ópticas, somos, hemos cubierto, que hemos visto aquí. Eso es lo que es socket sin bloqueo. La diferencia entre la función de selección, diferencia entre socket sin bloqueo. Hemos visto que cuántas líneas tienes que codificar más en caso de que uses la función select en comparación con la del socket sin bloqueo. Una vez que hayamos escrito el código, podemos reutilizarlo y la modificación es muy menor si lo tenemos, si tenemos que gestionar múltiples sockets. En tanto que en caso de no bloqueo, incluso si el código es de lista, pero si hay gran número de enchufes, que manejarlo, el código, entonces hay que hacer una tarea más en eso. También hemos visto en caso de la función select, cuándo usar la función select cuándo usar make the socket es el modo no bloqueador. Y hemos visto que aquí para Instapoll antes, se reunirá en un solo lugar pero un socket sin bloqueo, se distribuirá a lo largo de su curso. Es difícil mantener si se disuelve. Gran número, gran número de enchufes. Estas son las diferencias que hemos visto también, hemos visto significó hacer el socket como selecto. Hemos visto lo que no es necesariamente de la función select. Hemos visto. No queremos que el programa se detenga por mucho tiempo. Puede utilizar la función de selección. Tenemos un control sobre el tiempo de espera. Hemos visto entonces podemos prepararnos. Hacer socket es socket sin bloqueo en lugar de usar select Cantidad, he visto la situación puede ocurrir tiempo de ejecución, no sabemos ni siquiera la función select está regresando con los descriptores de socket que están listos. Pero debido a alguna otra situación como las leyes de conexión, cualquier cosa puede suceder sin embargo. Cliente que estaba enviando datos si se consiguió, Está conectado de alguna manera, hacer alguna situación , situación de riesgo. En ese caso, no habrá guitarra. La fecha del diciembre, que estaba listo para realizar la operación de lectura. Ya que el cliente se desconectó, no podrá leer. Cualquier cosa puede ocurrir en cualquier momento. Por lo tanto, en ese caso usted hizo el socket es no-bloqueante para usar cuando he especificado. Y hemos visto cómo hacer que el zócalo sea no bloqueante. Tienes que dar esa bandera. Las dos funciones que hemos visto, hay que llamar a f, c, y d. Así que todas estas cosas somos, somos ancho de banda y la próxima sesión, estaremos escribiendo el programa para cumplir con el socket no bloqueando y lo estaremos ejecutando En denota usando la programación C. Así que prepárate para la próxima sesión, que será completa dedicación para escribir el programa y ejecutarlo. Hacer el socket no es golpear con el fin lograr la comunicación multi cliente-servidor. Así que he terminado por ahora, amigos. Muchas gracias. Gracias. 26. SocketSession15 y la de la de la fabricación de la exposición como no de la: Miro amigos que van a estar escribiendo el programa socket o haciendo el socket como no bloqueo para lograr multilínea dijo Bien comunicación y también lo estaremos ejecutando en el Linux usando el C idioma. Por lo que antes de esta sesión, hemos visto que dicta cómo hacer el socket como no bloqueo. Por lo que hemos visto diferentes enfoques con el fin de lograr anticlíneas, varias comunicaciones hemos visto cuál fue el problema en crear el hilo para cada cliente que conecta con la salva que son diversas desventajas que hemos cubierto en sesión anterior para evitar usar eso conseguir un hilo. Pero cada cliente, lo hemos superado mediante el uso de la función select. También hemos visto num, importancia de la función select así como hemos visto los detalles. ¿ Cuál es el propósito de utilizar el lápiz de función de selección para utilizarlo? Y también hemos escrito el programa y lo ejecutamos en sesión anterior. Entonces hemos visto el diferente enfoque de hacer que el socket sea sin bloqueo en lugar de usar una función de selección. Por lo que hemos visto a los hombres a utilizar la función de selección cuándo usar hacer que este socket es sin bloqueo. Hemos visto todas estas cosas en sesión anterior. Como sabemos, como estamos teniendo el conocimiento de cómo hacer que el socket sea sin bloqueo. Te he explicado antes de esta sesión, he explicado ¿cuál es el propósito de la misma? Vamos a escribir el programa así como ejecutado haciendo que el socket sea sin bloqueo. Así que déjame simplemente describirte en resumen sobre el modo de no bloqueo. Y empecemos a escribir el programa en las unidades así como lo estaremos ejecutando. Empecemos por un socket sin bloqueo, como te describí en sesión de audio. Haciendo el zócalo como no bloqueo. Esta comprobación si se ha producido el evento. Y en caso afirmativo, entonces se procesará en ese momento por sí mismo, ya que regresará de inmediato sin potencialidades de espera sirve al propósito de los enchufes no bloqueantes. Entonces cuando haces, sabes que él siguió cada vez creas un modo de bloqueo de socket, si quieres hacer el socket en modo no bloqueo, tenemos alguna llamada al sistema que estaremos viendo por delante. Pero una vez que hagas el zócalo es sin bloqueo, entonces cómo se comportará. Permítanme describir eso. En ese caso, supongamos que está haciendo que su socket sea sin bloqueo y está llamando a la función de lectura. Usted sabe que cuando el molino de operación de lectura, solo juega evento que es un dato en el socket, entonces sólo usted puede ser que los datos del socket. Por lo que dy dt lo acompañará será exitoso sólo cuando haya un zócalo. Por lo tanto, se llama a esta lectura. Y si hay un dato presente en este socket, entonces leerá los datos y volverá y la hora de acostarse. Pero eso no es dato sobre este órgano. Y estás llamando a la función de lectura. Y en ese caso, sabes que has hecho que este socket es sin bloqueo. Por lo tanto, no esperará los datos. Volverá de inmediato. Por lo que se puede entender independientemente si los datos están ahí o no. No se leerá porque estás haciendo un socket es sin bloqueo. No quieres que tu programa esté atascado. No quieres hacer mano a tu programa y por lo tanto volverás inmediatamente sin esperar, por lo que no vas a conseguir, esto es lo que logramos. Lugar hecho el zócalo es no bloqueante. Entonces qué, cuál es el trabajo sucede en ese caso, no hay datos y estás llamando a la función. En ese caso, volverá inmediato y te dará también algunos errores, es que los errores describirán en realidad que el socket tú de virtud me se suponía que lo hicieras como bloqueo. Pero como has hecho este socket no es bloqueador cuando los datos no son mejores, no lo hagas de inmediato. Y por lo tanto, se supone que debes llamar a la función de lectura después de algún tiempo. Ese es el comportamiento. Esto sucede en todo cuando haces que el socket es sin bloqueo. Por lo que todos los detalles de la misma ya les he explicado antes de esta sesión. El objetivo principal en esta sesión es redactar el programa. Verás cómo lograr cómo hacer que el socket sea sin bloqueo y cómo ejecutarlo. El ejemplo en realidad, cuando se niega el socket es sin bloqueo y cuando llamas a Amanda Silver, causa la función de salida. Ya sabes que a esta función de salida, en primer lugar, se llama por ambos lados. Entonces se llama cada vez que el cliente está enviando una solicitud, las solicitudes de conexión al servidor, entonces el suburbio debe suponer aceptar que las solicitudes de conexión del cliente. En el, si estás haciendo tu socket es sin bloqueo. Y si llama a la función de salida en el sitio, si no hay conexión de cliente, si no hay cliente enviando una solicitud. Y como has hecho que el socket es sin bloqueo y estás siguiendo excepto función, no esperará. Pendiente clínico simplemente regresa de inmediato por lo que te dará el conjunto como describí. ¿ Sabes que te dará este error? Usted bloquearía. Significa lo que significa que podrías tener un socket de medios como un bloqueo en realidad, porque no hay acción, en cambio estás llamando a la función de salida. Por lo tanto vuelve a llamar la función de salida después de algunas veces por lo tanto le dará este error indicando que después de alguna vez las esquinas salen de la función y verifica si hay alguna conexión con ella, excepto dependiendo del requisito, se puede probar la cantidad de tiempo definida. Entonces esto es lo que sucede en realidad, si haces que este socket sea sin bloqueo. Por lo que espero por lo que se consiguió, ahora, veamos en realidad ya hemos visto en la sesión anterior sólo para describir en breve cómo hacer que el socket sea sin bloqueo. Entonces, antes que nada, hay que llamar a esto F, C y D L, que es un sistema llamado a esta función usted en lugar de llamar. Y hay que pasar en este formato. Es decir, hay que pasar lo descriptivo. Esto será en descriptor de socket. Y el segundo argumento será el comando. Comando. Es eso lo que realmente quieres que se haga en este descriptor de socket, esa actividad que hay que mencionar realidad como un comando en el segundo argumento. Y este tres puntos indica que puedes dar más opciones como opcionales en realidad, si tienes que usar FC y verde azulado. Y también hemos visto estas dos líneas de cosa en realidad que se supone que debes hacer y haces que este socket sea sin bloqueo. Tienes que llamar a este FC y TL y tienes que pasar el descriptor de socket y el comando, quieres conseguir FL. ¿ Qué es este tipo que cayó en el siguiente por el descriptor. Y devolver estos flexor, su papel es adecuado para obtener el siguiente en realidad de este descriptor de socket, del descriptor de socket que recuperará el flex en realidad, y se puede recolectar en esta variable. Y luego estás llamando a la misma llamada al sistema y al descriptor de socket, pero estás recibiendo esto. Se trata de F subrayado conjunto FL. ¿ Cuál es el propósito de este comando? Enviará banderas de estado para el descriptor. Que en eso enviará X realmente en el descriptor socket. Y la tercera opción soy yo, y eso es opcional. Entonces como hay que hacer que este socket sea sin bloqueo, hay que dar esta oportunidad es muy importante. Tienes que mencionar este no-bloque porque quieres que tu socket sea sin bloqueo. Esto se usa en realidad con el fin de hacer que su socket sea sin bloqueo. Entonces estás dando esta opción como argumento de salida en ella. Entonces así es como se puede lograr hacer el socket como no bloqueo. Ahora, comencemos a escribir el programa y ejecutemos usando el lenguaje C. Por lo que te explicaré las instrucciones línea por línea y luego estaremos ejecutando. Esta sesión está en el sistema operativo Windows y el programa que estaremos escribiendo en el sistema operativo Linux. Por lo que he instalado aquí la caja de Oracle Mm. En realidad, eso me dará la cruz, puedo cruzar compilar mi programa en el sistema operativo Linux. Si no tienes un Linux, también puedes instalarlo es mucho z2 instalar Oracle estar involucrado, y simplemente puedes empezar a escribir el código allí cuando lanzas que estará involucrado o si usted está teniendo unidades sistema operativo, simplemente puede escribir el programa. Entonces empecemos a escribir el programa. Esa pelota. Déjame cambiar a mi sistema Linux. Esto se lanza Oracle VM, y este es mi sistema operativo, sistema operativo Linux. Así que inicio de sesión. Déjenme abrir primero la terminal. Es mi programa. Esto déjame mostrarte el camino. En mi carpeta de casa. Creé este vacío que en realidad, dependiendo de cuál sea el propósito de mi problema, pero está vacío. Se los enchufes no bloqueantes se dan ese haz mismo aquí, y eso es seleccionar la programación de socket usando socket no bloqueante. Abriremos el teléfono de la interfaz de usuario. Sí. Entonces aquí este es mi programa en realidad. Entonces este es mi programa de servidor, o hacer que el socket sea sin bloqueo. Ahora, veamos uno por uno lo que vamos a hacer. En primer lugar, como te he mostrado esto en la propia presentación, el ejemplo de la función de salida. Entonces supongamos que haces el socket como no bloqueante y es que sabemos que función XOR se llama en el lado del servidor. Entonces, si estás haciendo que tu toma de ojos sea sin bloqueo y estás llamando a la función de salida, se comportará correctamente avergonzado. Algunos clientes solicitan al respecto. Aceptará esa conexión. Entonces eso está bien. Pero ¿qué pasa si no hay solicitud de conexión de línea en la plata? Y ya que estás haciendo que esos socket de red sean no bloqueantes y tu colega, excepto función. En ese caso, obviamente, aunque no haya solicitudes de clientes, no esperará el gasto y la acción. Simplemente regresará de inmediato. Entonces en ese caso, lo que debería suceder en realidad, ya que eres el propósito principal del programa fue que se aceptara la conexión la conexión solicitar asistencia que no tienes no estándar clientes, por lo que adeudo, por lo tanto, no hay solicitudes de clientes. Por lo que no hay duda de aceptarlo. Por lo tanto, usted ha regresado de inmediato. Así que de nuevo, puedes llamar después de algún tiempo, puedes llamar excepto función en. Y sabes que volverá a comprobar si hay alguna conexión de financiamiento y es mejor, volverá de inmediato. Entonces así es como se puede llevar, llevar la misma actividad de nuevo en una forma independiente después de alguna cantidad. Haremos lo mismo. Este es el código del servidor. Te explicaré tu línea por línea las instrucciones. Entonces estaremos compilando este programa. Estaremos ejecutando los programas cerebrales. Ya que somos yo. Socket es sin bloqueo y llamaremos a la función de salida. Por lo tanto, simplemente será un OT lanzando cualquier cliente. Entonces cuando todavía hay estamos llamando textos que funcionan en el solucionador. Simplemente no esperará, volverá de inmediato. Otros y dependientes de la red. Visto ese encabezado podemos otra vez falsa función de salida de la suma entre doc time. Y veremos que es ESNet si puede aceptar la conexión avergonzada algunas solicitudes de conexión de cliente, y si no, entonces volverá a volver inmediatamente de nuevo a través de n Si lanzamos eso cliente en realidad la hora de acostarse excepto se llama a la función y luego aceptará las devoluciones de conexión con éxito. Esto es lo que estaremos logrando en nuestro programa. Usted compró en realidad lo que estoy tratando de decir, incluso esto será aclarado por Te explicaré las instrucciones línea por línea. Veamos. Entonces supongamos que este es un programa de socket de servidor y conocemos lo básico. En realidad, ya hemos visto cómo crear un socket y los detalles al respecto, y qué se requieren todas las funciones para usar el servicio necesitaré llamar a la función principal. Tenemos que escuchar también en realidad, también necesitamos aceptar la conexión ya que nos enfocaremos en la función excepto. Ahora veamos en realidad esto es, se supone que esto debe contener estos archivos de cabecera de configuración que hay que declarar en realidad. Y esta es tu función principal. Esta es tu función principal. Ya sabes que aunque esta es función principal es un punto de entrada para iniciar una ejecución de tu programa. Entonces cuando el programa se ejecute, el control vendrá en la primera línea de la función media, y se ejecutará línea por línea secuencialmente. Entonces, ¿qué estás haciendo, así que antes que nada, qué es lo que se supone que debemos hacer? Se supone que debes hacer que realmente quieras crear un socket en el lado del servidor. Y queremos que sea como no bloqueo. Y tenemos que, cada vez que estamos lidiando con el socket del servidor, tenemos que hacer algún objetivo, algunas funciones como lo tenemos primer lugar por los servidores de índice socket a puerto número, entonces tenemos que escuchar en número de puerto. Y el tercero que tenemos que aceptar una acción realmente llamando a la función socket. Sabemos que estos tres parámetros, estos son los tres argumentos que estamos pasando. Dice si underscore init es aunque direccionamiento socket familiar, y este es un tipo del socket que queríamos, queríamos crear un socket de corriente. Y este tercer argumento es 0. Así es como creas un socket y estarás tomando realmente socket. Al crear el zócalo, devolverá descriptor, el descriptor de zócalo plata, que lo he nombrado como un zócalo maestro, y es del tipo diferente. Y se puede ver que lo he declarado antes de usarlo. Esto es la comprobación de errores. Si esto es todo puede conseguir falla proteger de esta manera. Entonces así es como tu socket de servidor Dios creó y este es el descriptor para el socket de servidor socket sin nombre master underscore socket. Entonces ahora lo estás, estás, ya has terminado de crear el socket. Ahora lo siguiente es que hay que hacer que este socket sea sin bloqueo. Y habíamos visto cuántos lo hacen. Ya hemos visto suficiente presentación. Veamos. Aquí se puede ver que hay una medieval que se declara aquí. Se puede ver que estamos llamando a FC y TL, eso es una llamada al sistema. Y lo estamos haciendo de esta manera. Entonces esta llamada al sistema se llama en realidad lo he visto hasta que estamos usando esto, tenemos que hacer un socket no es bloqueo. Por lo tanto, zócalo de ancho tenemos que hacer el no-bloqueo. Tenemos demasiados. Este socket de servidor es sin bloqueo y todo el vector será el primer argumento. Entonces el segundo argumento, que es que hemos visto cuál es el propósito de esta segunda cosa? En primer lugar, el secundario es un comando que hemos visto en la presentación y se utiliza para recuperar el flex que están presentes. Para que esa bandera sea recuperada y se recogerá sobre esto en este botón de medios que hemos declarado anteriormente. En la meningitis, una comprobación de errores. Y de nuevo, tenemos que seguir este sistema llamado GNP o lo hemos visto. Y volveremos a pasar el primer argumento como socket, que queremos hacerlo como un socket sin bloqueo. Ese es el descriptor de socket del servidor. Qué socket que devuelve el nombre descriptor del socket del servidor debe así revelar socket que lo estamos pasando como un primer argumento en este sistema luchado. Y el segundo estamos pasando este comando que es F subrayado establecer el pensamiento. Tramitación de esta bandera entre tablero, así como estamos pasando esta opción que es o subrayado no bloqueo. Estas son las opciones de bandera. Entonces como tenemos que hacer que el socket sea sin bloqueo, tenemos que dar esta opción. Esto se requiere asistencia debe. Así es como estamos haciendo este tipo de un socket cuyo nombre es masa tienden a anotar socket S en el modo sin bloqueo. Entonces estamos dando esta opción y esto es lo que verificando errores. Por lo que se puede ver cómo estas cosas se utilizan realmente para hacer que el socket sea sin bloqueo y este par de líneas se utilizan en realidad hacer ambas cosas en Editar chequeando aquí. Este punto usted entendió, espero que sí. Estoy creando un socket y lo estamos haciendo como un encendido. Ahora lo siguiente en el lado del servidor, lo que se supone que debemos hacer es que tenemos que, ya sabes, esto es una estructura. Estamos tomando esto como un DDR y es de los datatypes, struct, calcetín, ADD o subrayado INV, ¿ sabes cuál es el propósito de esta estructura? Tenemos que llenar a todos los integrantes en esta capacidad mediática, DDR. Tienes que llenar con el número de puerto dBspl, la familia, así como tenemos este DPLL. Ya que queremos una barra lateral inclinada a comunicar en el mismo sistema operativo, misma máquina host, en realidad, la misma dirección IP antes daremos esta opción EN ADD o subrayado NE. Aquí, se puede ver uno por uno, esta variabilidad, los promedios que agregamos enlazan los detalles que estamos dando los detalles, lo estamos llenando con estos servicios que se dirigen familia. Este es un número impar al que queremos que el servidor compre en este número de puerto. Y estos son los detalles de la dirección. Lo sabemos. Cuál es el propósito de este ion, hecho el ARM cuadra una imagen que tengo propósito en mi sesión anterior en el socket ya que queremos que el servidor y el cliente se comuniquen en la misma máquina host, hosts locales. Por lo que se supone que debemos dar esto y quiero explicarles detalle en sesión de volumen. El propio entrenamiento. Entonces puedes ver aquí. Entonces llamaremos a la función bind en el socket del servidor nombrado como maestros o se puede usar para enlazar este socket de servidor, eso es socket maestro a este número y también que lo pasará como un segundo argumento es un énfasis en ADR, que tenemos detalles de filtro aquí. No penséis que el argumento será del tamaño en este ADR. Esta es la comprobación de errores. Entonces otra vez, ¿qué hace que se supone que caamos? Ya hemos terminado con eso. Ahora se supone que debemos escuchar realmente en este socket, eso es socket de servidor. Y así es cuánto de la conexión de línea pendiente se puede solo. Para que puedas dar cualquier cosa dependiendo del requisito. Entonces de nuevo, aquí se hace la comprobación de errores. Y entonces tú Lo principal empieza A que viste sigo iterando. No voy a seguir en realidad. Será infinitamente y dependiendo de esta cosa, volverá entre sí. Este bucle while seguirá hasta y a menos que no regrese en estos código de pizza. Por lo que hay que regresar para montarlo en este mi bucle para que puedan ver lo que estoy haciendo. Puedes ver aquí estoy llamando a la función de salida. Como te dije en. Ya que estamos, hemos terminado de hacer el socket del servidor como no-bloqueo y estamos llamando a la función de salida. Es efectivo, es decir una solicitud de cliente que no lo son, No va a esperar. Simplemente lo convertirá a bordo. Aceptará la conexión, volverá con éxito. De no ser así, la conexión no está ahí, no hay conexión de plan. Volverá de inmediato y te dará el error este metal. Para que puedas ver la función de salida es, estamos llamando, estamos analizando el socket del servidor, masa sin sentido por socket. Y estas cosas. Esto es, esto es lo que en realidad, y esto te da sin embargo. Esto le da el descriptor cliente, en realidad descriptor de archivo. Este es el descriptor del socket del cliente Dr.. Estás comprobando realmente este menos uno. Entonces esto te dará S menos uno. En realidad. Verificarás diferentes tipos de error. Indica cuando eso no es una conexión de cliente, es decir cuando no estás lanzando el cliente. Obviamente, si llamas a la función de salida y no lo estás. Lanzando esa línea. Entonces obviamente cómo va a aceptar la conexión, no hay cliente presente y también, ya que estamos haciendo que el socket sea sin bloqueo. No va a esperar. Volverá de inmediato. Entonces en ese caso, esto será menos uno. Por lo que esto será menos uno cuando no esté bloqueado en el lanzamiento del cliente y aún esté llamando a la función de salida volverá de inmediato. Por lo tanto, esta condición será satisfactoria, eso es electrodoméstico apagado con menos uno. Y en este caso lo harás por casa diferentes, diferentes cheques. Por lo que lo verás editar número, que está ahí en realidad está apagado, bloquearía tipos. Este error vendrá en realidad, este error significa que se suponía que debía hacer el socket como bloqueo porque no hay conexión de cliente. Y por lo tanto en ese caso el excepto debió tener en realidad, pero los EU, ya que lo tenías, habías hecho este socket es sin bloqueo. Tenemos que tuvo regreso de inmediato sin esperar la solicitud del cliente. Y por lo tanto te dará este error diciendo que el trastorno está presente y por lo tanto puedes simplemente en este caso, por lo que después de algún tiempo, significa que, después de algún tiempo puedes llamar la misma función que es salida. Ya que en ese momento no había subida conectada Newton y cliente de lanzamiento y por lo tanto no había plan. Por lo tanto, ya que esto es eta, puedes esperar algún tiempo y otra vez llamar a la función de salida. Para que puedas ver este mensaje de visualización estará llegando. No hay conexión pendiente y Blackboard sleep o dos segundos. Así que estoy haciendo para dormir frontera tanta cantidad de tiempo en realidad dos segundos, entonces ¿qué pasará? Permítanme dormir está hecho en realidad. Lo que sucederá obviamente, nuevo, va a iterar, control de bordes irá aquí en realidad de nuevo llamará función de salida y nuevamente lo hará. Si es así, si lo tienes hasta ese momento, si has lanzado una línea en realidad, que está conectando en el mismo número, en ese caso, aceptará la conexión y este viento regresará con éxito . Y no conseguirás esto si la condición está satisfecha. Si tienes línea no amenazante, no este descriptor de socket no será menos uno. Será un valor distinto de cero y por lo tanto esto quedará satisfecho. Y entonces lo serás, estarás enviando este mensaje en este socket cliente mismo desde la conexión del servidor. Y por lo tanto, usted está escribiendo un mensaje de él sobre el socket cliente. Estás enviando este mensaje, por lo que esta arena que estás llamando desde el programa del servidor, desde el lado del servidor hasta el socket cliente. Por lo tanto, está dando el descriptor de socket del socket cliente. Y estás pasando este mensaje MSG, que estás dando es prueba, hey, hola. Este servidor enviará un mensaje al cliente, el cual se puede ver apareciendo en la consola de línea. Así es como se comporta la seccionamiento. Te mostraré que compraste lo que estamos tratando de hacer aquí. Claramente ahora vamos a compilar el programa y ejecutarlo. Así que ahora volviendo a aunque, Domino, teniendo el programa, déjame simplemente restablecer para que comprendas con más claridad que estamos teniendo. Así que déjame simplemente quitar este artículo y déjame volver a ejecutar el programa. Ya que tenemos que compilar este programa y este programa está escrito en el lenguaje C, y por lo tanto utilizaré la herramienta compiladora GCC, que se utiliza para compilar el programa de lenguaje C en caso del sistema operativo Linux, y por lo tanto estoy dando DCC. Por lo que esto se instalará por defecto en su sistema operativo Linux. Por lo que es sencillo es dar este mando y verás que se creó. Ahora puedes simplemente esto un punto fuera. En ese caso, cuando lo ejecutes tú mismo, en realidad terminaremos servidor. ¿ Qué hace el servidor ya que acaba de lanzar el servidor y no está entonces lanzando el cliente después de eso. En ese caso, volverá realmente hace llamar a la función de libro de texto. Volverá de inmediato. Dormirá durante dos segundos. Y nuevamente volverá a llamar a la función de salida, volverá inmediatamente a dormir o dos segundos. Por lo que esto seguirá sucediendo en el ADN y otra vez hasta que éste, a menos que no lances a tu cliente. Una vez que inicie una línea oscura, entonces el solucionador simplemente expandirá exhibir el conector es exitoso y al menos enviar un mensaje de servidor a cliente. Así que vamos a ver, vamos a correr para como punto fuera. Por lo que se puede ver aquí está diciendo que no hay conexión pendiente. Se durmió dos segundos. Nuevamente. Después de dos segundos resbaló, se volvió a poner. Está llamando a la función. Nuevamente. No hay conexiones pendientes, por lo que regresó de inmediato y durmiendo Porto segundos de nuevo, esto es un continuo en realidad te digo, lanza tu tiempo. Así que déjame o largo plazo nueve, abriré una nueva terminal como esta. Por lo que puedes ver aquí esta terminal es para el lado del servidor. Dominante, dominante. Estaré usando para lanzar la hora. Entonces cómo, ya que el servidor En comunicación que estamos haciendo en la misma máquina host en realidad. Entonces, por lo tanto, me quedo terminal en esta máquina de curso y vendo el nuevo dominante que es de esta manera. Y voy a hacer, voy a hacer para conectarme al servidor en realidad tengo que hacerlo, estoy haciendo telnet localhost en realidad 0 distancia este cliente del servidor está en la misma máquina local. Estoy dando host local, eso es dirección IP en cualquier 0 o t porque el servidor está vinculado a este número de puerto que hemos visto en nuestro programa. Así que una vez debe, se puede ver aquí una vez que hago diez minutos en realidad lo que pasó? Es centímetro, está conectado con anfitrión local. Y este mensaje llegó, hey, hola servidor de trombos. Entonces veamos qué pasó en el solucionador. De nuevo, ver dentro de meses y recibió mensaje. Una vez que lances este cliente en realidad cliente enviar una solicitud de tu me has visto están haciendo diez. Que en ese caso, ¿qué pasó? Simplemente Bennett aceptó la conexión, fue exitosa. Y por lo tanto va a decir que tengo conexión y va a reportar ítem, qué mensaje es genial, Hemos visto lo alto que estamos escribiendo desde el solucionador en el socket de tiempo que Dios exhibió aquí. Después agregamos, luego nos hemos desconectado de esta conexión más cerca por el autor y host bits que hemos visto, lo que estamos haciendo en nuestro programa. Entonces esto es lo que, esto sucede, no todos volviendo a volverse, está esperando en realidad ya que lo habíamos puesto en el bucle infinito. Si nosotros, intelectualmente de nuevo, nos gusta esto. Y déjame correr éste. ¿ Qué pasará? puede ver de nuevo es, hay que conectar. Les va a enrutar para decir, Hey, Hola, Así que esto es lo que, esto fue. Esto sucede en realidad. Hacer el zócalo es sin bloqueo. Se puede ver cómo se comporta sexualmente. Ahora, volviendo a sí, sí. Así es como hemos logrado eso. Creo que el programa, además de ejecutarlo haciendo que el socket sea sin bloqueo. Comunicación del servidor cliente. Así es como no se puede multipletar líneas en realidad. Y luego del lado de ella, simplemente le enviaremos un mensaje y no hay cliente lanzado, simplemente regresará inmediato y te dará el mensaje. Dormirá o dos segundos de nuevo, seguirá llamando a la función de salida. En ese minuto, una pequeña duna se conectó al gueto. Así es como se pone. Este es el comportamiento y estamos hechos con esta sesión completa. En realidad, hemos visto ahora escribiendo el programa, ustedes han visto cuál es el propósito del socket sin bloqueo, y hemos escrito el programa y ejecutado. Es. No quería decir que haya terminado por ahora. Gracias, amigos. Muchas gracias. 27. Sesión de socket 16 ApplicationSocketProgramming: Hola, Bienvenido a esta última sesión del curso que esta aplicación de programación socket. Aquí estaremos viendo paralelos. Se utiliza la programación de socket así como estaremos viendo las aplicaciones del mundo real donde se utiliza toda la programación de socket. Veamos, paso a paso. Así que primero vamos rápidamente dispositivo sobre el zócalo que hemos visto hasta ahora. Sabemos que socket, es una comunicación entre procesos dentro de la misma o diferentes pezuñas a mi cadena. Por lo que el cliente puede estar presente en la misma máquina host la cual estará comunicando durante la auditoría de comunicación socket puede estar presente en diferentes, diferentes máquinas anfitrionas. En el diagrama, revisando rápidamente al respecto. Por lo que hemos visto que hay un servidor y eso es un cliente. Entenderá la identidad de la plata para el salvamento debe tener dirección IP asociada y el número de puerto, que debe estar teniendo su dirección IP y número de puerto para que el cliente, si tiene que hacer la comunicación con la celda trabajar en sincronía con la misma dirección IP y el número de puerto donde se está ejecutando el servidor. La comunicación. Hemos visto que hemos visto este fenomenal y por eso están comunicando deterioro, disminuciones leves. Se están comunicando a través de internet. Empezó uno por uno. Se enviará la solicitud y estaremos ahí en la cola de espera dependiendo del programa, lo que haya configurado. Si tienes insensibilidad, debe ser declinar y actuar en la cola, entonces va a estar sucediendo. En ese caso, si no quieres solo una línea se comunique con el servidor, no quieres que ningún otro tipo de conexión esté en la cola de espera. Para que hayamos visto diferentes, diferentes funciones son por tanto acera o el cliente, hemos visto que esto es sólo una revisión. Ahora, pasando por las áreas donde se utiliza toda la programación de socket. Este es uno por uno que he descrito, lo que proporciona la capacidad de implementar la analítica en tiempo real. Entonces, ¿qué es esta analítica en tiempo real? Sabes que el análisis en tiempo real significa análisis del tiempo de ADN, pero se hará el análisis de los mismos. Por ejemplo, si vas a diferente, diría flipkart.com, amazing.com. Se puede ver que si supongamos que tiene dos fiestas, si un teléfono móvil, en ese caso, se puede ver que el sitio de compras in-between te dará el display off screen guard más mientras cubres todo porque estás cortando. Estás buscando el teléfono móvil. Por lo que son lo suficientemente inteligentes como para mostrar estas cosas. Para que denoten que después estarás comprando el delgado Jardín movilizado como estás persiguiendo el móvil. Esto es lo que todo sobre la analítica de análisis en tiempo real también ejemplos. Si lo eres, supongamos que estás buscando algún vestido en cualquier sitio de compras. Visita diferentes Instagram o Facebook que puedes ver que estarás obteniendo la edad adulta de vestir en sí misma. Para que más adelante puedas pasar por ese sitio y puedas hacer compras. Por lo que todo esto se trata del análisis en tiempo real, la analítica. Es decir, sea cual sea lo que esté buscando en su navegador, que los datos se almacenan y que se van a quedar delante de usted cada vez que se encuentre. El usuario estará atendiendo a esa cosa en particular que está llegando o desplazamiento. Es sólo un tipo idealtype. Esto es lo que la analítica en tiempo real. Por lo que la programación de socket se utiliza también para la mensajería instantánea por la lógica dominó y entiende enviar el mensaje, mensaje instantáneo al socket. Allí se utiliza la comunicación a nuestra programación. Después para el streaming binario, así como para la colaboración documental. Entonces, para todos estos fines, se utiliza la programación de socket en estas áreas. Entonces también se utiliza para crear el servidor. A los inversores les gusta servidores web, servidores de correo, servidores FTP y otros servidores. Entonces habíamos visto que habrá servidor y cliente donde toda la programación socket se puede utilizar para crear el servidor como servidores web, servidores correo, servidores FTP hacen trans. Este servidores FTP requeridos asociados al transporte de archivos. El principal que puedas, puedes entender para qué es para el, con respecto al envío de los medios el servidor para eso. utiliza toda la programación de socket. Y si hablas del lado del cliente, entonces los navegadores que pueden ser Firefox o se pueden cultivar, es decir, se utiliza la programación socket. Estas son las áreas donde toda la programación de socket o se utilizan otras áreas. La mayor parte de esa creencia protocolos de nivel de aplicación. Ha visto File Transfer Protocol, SMTP, POP3, big news OK, socket para establecer la conexión entre el cliente y el servidor. Y luego para intercambiar datos, sabes que FTP se utiliza para transferir el archivo del servidor al cliente para que se utilice entonces toda la programación socket para enviar el correo, para enviando cosas diferentes, en realidad todas estas SMTP que los mensajes en la cerámica. Todas estas cosas son, harán uso del zócalo. Estas son las aplicaciones que te harán a través socket en la comunicación sucederá entre servidor y cliente. Estas son todas las ideas donde se usa toda la programación de socket, este FTP, SMTP, y ojalá estos sean los protocolos. Ahora, otra cosa en realidad donde todos los socrates usaban, he estado en socket dos, así que los hemos visto en las API de socket, todas estas. Permite al programador crear Internet avanzado, intranet y otras aplicaciones de capacidad de red para transmitir los datos de la aplicación a través del cable independiente en el protocolo de red siendo usado, se utiliza toda la programación de socket. Entonces. Si hablas en términos de aplicación en tiempo real, estas son las aplicaciones en tiempo real donde Sócrates, hemos visto este programa en. Entonces para eso, hemos hecho la aplicación de chat en tiempo real entre el servidor y el cliente. Hemos visto esa comunicación TCP y para Windows y para el propio Linux. Hemos hecho el programa ejecutado también como el servidor box al cliente, cliente habla al servidor. Esta es la programación socket que se utiliza, es decir, la aplicación de chat en tiempo real. Entonces otra aplicación en tiempo real donde se usa socket. Hemos visto la comunicación del servidor HTTP Apache con el navegador del cliente. Entonces aquí, esto también hemos estado programando para esto, pero no lo hicimos. Hemos visto que cada vez que el usuario da algún enlace en el lado del cliente, navegador puede ser Mozilla, se puede cultivar Internet Explorer en cualquier otro navegador. Siempre que el usuario está dando alguna URL, entonces ese navegador en sí es un cliente. Por lo que la solicitud irá al servidor HTTP Apache. Y este sentido del cliente sin embargo, vamos a hacer la comunicación con el servidor en términos de enviar el mensaje, en términos de formato de encabezado. Lo hemos visto al entender esta sesión porque he cubierto antes cómo enviaría el cliente el mensaje a la barra lateral en formato de encabezado thumbs-up y cómo responde el cuerpo enviando encabezado y cuerpo a los pulgares, insulina en el costado o triste respuesta de incentivo web al cliente y se cargue la página, lo que el usuario haya dado la URL en el navegador que paga se cargará. Por lo que ya hemos hecho la programación para esta fórmula, así como Paulina. Por lo que hemos visto esta aplicación del mundo real. Esta programación de socket se utiliza en otra aplicación, la aplicación tiempo real es para aplicación de reserva de taxis en el socket se utiliza la programación. Estas son las áreas donde se utiliza toda la programación de socket, sin embargo. Lo he hecho para esta última sesión de este curso. Ahora ya terminamos con el curso completo. Gracias. Muchas gracias. 28. SocketSession17 SourceCode: Tengo el código fuente para todos los programas socket, que he cubierto en todo este curso. Por lo que se puede referir después de entender la junta directiva que he explicado en diferentes sesiones.