SlideShare une entreprise Scribd logo
1  sur  22
"AÑO DE LAS CUMBRES MUNDIALES EN EL PERU" INSTITUTO SUPERIOR TECNOLOGICO PUBLICO MANUEL NUÑEZ BUTRON TALLER DE APLICACIONES MOVILES TEMA SOCKETS EN PYTHON DOCENTE VICTOR PANDO BELTRAN ALUMNOS: MAMANI MAMANI SALVADOR BRUNO HUALLPA MAMANI LENIN LADISLAO MAMANI ROJAS HECTOR AÑO 2008
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
¿Que es un socket? lo más importante es saber que un socket nos permite comunicarnos con otras computadoras, de esa manera la informacón puede viajar libremente por todos lados. Mucha gente se aterroriza al enterarse que tiene que desarrollar alguna aplicación haciendo uso de sockets, pues el dia de hoy descubriremos que no es nada del otro mundo, este manual se enfoca solamente a sockets en Python, si alguna vez han trabajado con sockets en C se darán cuenta que en Python es mucho más fácil (que no lo es??),
bueno, los puntos que trataremos en este proyecto son: ,[object Object],[object Object],[object Object],[object Object]
Primero que nada... Existen tres dominios de comunicación para un socket: a) El dominio de UNIX. (AF_UNIX)  b) El dominio de internet. (AF_INET)  c) El dominio NS.
El dominio de UNIX. (AF_UNIX)           Se utiliza para la comunicacón entre procesos del sistema. El dominio de internet. (AF_INET)           Se utiliza en procesos que se estan comunicando atravéz de TCP(UDP)/IP El dominio NS.           Se utilizaba sobre los procesos que se comunicaban sobre el protocolo de comunicación de Xerox.
Rapido vistazo a algunos elementos de los sockets en Python. Socket Descripcion socket Crea un socket del tipo y familia especificada. socket.accept Acepta nuevas conexiones. socket.connect Conecta el socket a la dirección dada en el puerto dado. socket.send Envia datos al socket especificado. socket.recv Recive información.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
Veremos cómo crear un programa cliente y servidor a modo de ejemplo. Lo primero que tenemos que hacer es crear un objeto  socket para el servidor socket_s = socket.socket() Tenemos ahora que indicar en qué puerto se va a mantener a la escucha nuestro servidor utilizando el método bind. Para sockets IP, como es nuestro caso, el argumento de bind es una tupla que contiene el host y el puerto. El host se puede dejar vacío, indicando al método que puede utilizar cualquier nombre que esté disponible. socket_s.bind((“localhost”, 9999))
El método accept se mantiene a la espera de conexiones entrantes, bloqueando la ejecución hasta que llega un mensaje. Cuando llega un mensaje, accept desbloquea la ejecución, devolviendo un objeto socket que representa la conexión del cliente y una tupla que contiene el host y puerto de dicha conexión. socket_s.listen(10) socket_c, (host_c, puerto_c) = socket_s.accept()
Una vez que tenemos este objeto socket podemos comunicarnos con el cliente a través suyo, mediante los métodos recv y send (o recvfrom y sendfrom en UDP) que permiten recibir o enviar mensajes respectivamente. El método send toma como parámetros los datos a enviar, mientras que el método recv toma como parámetro el número máximo de bytes a aceptar. recibido = socket_c.recv(1024) print “Recibido: “, recibio socket_c.send(recibido)
Una vez que hemos terminado de trabajar con el socket, lo cerramos con el método close. Crear un cliente es aún más sencillo. Solo tenemos que crear el objeto socket, utilizar el método connect para conectarnos al servidor y utilizar los métodos send y recv que vimos anteriormente. El argumento de connect es una tupla con host y puerto, exactamente igual que bind. socket_c = socket.socket() socket_c.connect((“localhost”, 9999)) socket_c.send(“hola”)
DIAGRAMA PARA  EL SERVIDOR Inicio Leer MR MR<=1024 MR=”salir” “ Adiós” “ Recibido:”,M Fin MR = Mensaje Recibido SI SI NO NO
DIAGRAMA PARA  EL CLIENTE Inicio Leer M M=”salir” “ Adiós” Fin ENVIAR M SI NO M = mensaje escrito por teclado
Este sería el código del script servidor: import socket s = socket.socket() s.bind(('localhost', 8888)) s.listen(1) sc, addr = s.accept() while True: recibido = sc.recv(1024) if recibido == ‘salir': break print 'Recibido:', recibido sc.send(recibido) print 'adios' sc.close() s.close()
Y a continuación tenemos el del script cliente: import socket s = socket.socket() s.connect(('localhost', 9999)) while True: mensaje = raw_input('> ') s.send(mensaje) if mensaje == ‘salir': break print 'adios' s.close()
 
Hemos aprendido a comunicarse con un servidor de un cliente usando sockets en Python. Asi es como trabajan los sockets, y hay un sin fin de maneras de como trabajar con ellos  Un popular ejemplo, En una típica aplicación de chat, cada cliente es un servidor también, y cada servidor es un cliente así, es decir, los clientes deben ser capaces de escuchar y servidores deben ser capaces de transmitir datos. Conclusión
Nuestra recomendación seria que al realizar cualquier proyecto traten de entender bien el problema par así poder darle una buena solución Y cualquier información por pequeña q parezca es buena Recomendación
BIBLIOGRAFIA http :// elnanni.googlepages.com / index_sock.html http :// mundogeek.net /archivos/2008/04/12/ sockets -en- python / http :// launchpadlibrarian.net /18980633/ Python%20para%20todos.pdf http :// victorpando.blogspot.com /2008_12_01_ archive.html
 

Contenu connexe

Tendances

Evolution of the cloud
Evolution of the cloudEvolution of the cloud
Evolution of the cloudsagaroceanic11
 
Cloud computing and data security
Cloud computing and data securityCloud computing and data security
Cloud computing and data securityMohammed Fazuluddin
 
Succeeding with Secure Access Service Edge (SASE)
Succeeding with Secure Access Service Edge (SASE)Succeeding with Secure Access Service Edge (SASE)
Succeeding with Secure Access Service Edge (SASE)Cloudflare
 
Cloud computing presentacion
Cloud computing   presentacionCloud computing   presentacion
Cloud computing presentacionemanuel cifuentes
 
INTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGINTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGTanmoy Barman
 
Distributed computing
Distributed computingDistributed computing
Distributed computingKeshab Nath
 
SDWAN vs MPLS: What Enterprises need?
SDWAN vs MPLS: What Enterprises need?SDWAN vs MPLS: What Enterprises need?
SDWAN vs MPLS: What Enterprises need?Haris Chughtai
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWSHesham Amin
 
Network architecture design for microservices on GCP
Network architecture design for microservices on GCPNetwork architecture design for microservices on GCP
Network architecture design for microservices on GCPRaphaël FRAYSSE
 
Container Security Essentials
Container Security EssentialsContainer Security Essentials
Container Security EssentialsDNIF
 
Cloud computing using Eucalyptus
Cloud computing using EucalyptusCloud computing using Eucalyptus
Cloud computing using EucalyptusAbhishek Dey
 
Introduction To ThousandEyes
Introduction To ThousandEyesIntroduction To ThousandEyes
Introduction To ThousandEyesThousandEyes
 
PROTOCOLO HTTPS
PROTOCOLO HTTPSPROTOCOLO HTTPS
PROTOCOLO HTTPSByron
 
Cloud 101: The Basics of Cloud Computing
Cloud 101: The Basics of Cloud ComputingCloud 101: The Basics of Cloud Computing
Cloud 101: The Basics of Cloud ComputingHostway|HOSTING
 
Cloud Computing Risk Management (Multi Venue)
Cloud Computing Risk Management (Multi Venue)Cloud Computing Risk Management (Multi Venue)
Cloud Computing Risk Management (Multi Venue)Brian K. Dickard
 

Tendances (20)

Evolution of the cloud
Evolution of the cloudEvolution of the cloud
Evolution of the cloud
 
Cloud computing and data security
Cloud computing and data securityCloud computing and data security
Cloud computing and data security
 
Cloud Security Alliance Guide to Cloud Security
Cloud Security Alliance Guide to Cloud SecurityCloud Security Alliance Guide to Cloud Security
Cloud Security Alliance Guide to Cloud Security
 
Succeeding with Secure Access Service Edge (SASE)
Succeeding with Secure Access Service Edge (SASE)Succeeding with Secure Access Service Edge (SASE)
Succeeding with Secure Access Service Edge (SASE)
 
Cloud computing presentacion
Cloud computing   presentacionCloud computing   presentacion
Cloud computing presentacion
 
INTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGINTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTING
 
AWS WAF - A Web App Firewall
AWS WAF - A Web App FirewallAWS WAF - A Web App Firewall
AWS WAF - A Web App Firewall
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
SDWAN vs MPLS: What Enterprises need?
SDWAN vs MPLS: What Enterprises need?SDWAN vs MPLS: What Enterprises need?
SDWAN vs MPLS: What Enterprises need?
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
 
Network architecture design for microservices on GCP
Network architecture design for microservices on GCPNetwork architecture design for microservices on GCP
Network architecture design for microservices on GCP
 
Container Security Essentials
Container Security EssentialsContainer Security Essentials
Container Security Essentials
 
Deep Learning on ECS
Deep Learning on ECSDeep Learning on ECS
Deep Learning on ECS
 
AWS Webcast - Website Hosting
AWS Webcast - Website HostingAWS Webcast - Website Hosting
AWS Webcast - Website Hosting
 
Investigacion unidad 3
Investigacion unidad 3Investigacion unidad 3
Investigacion unidad 3
 
Cloud computing using Eucalyptus
Cloud computing using EucalyptusCloud computing using Eucalyptus
Cloud computing using Eucalyptus
 
Introduction To ThousandEyes
Introduction To ThousandEyesIntroduction To ThousandEyes
Introduction To ThousandEyes
 
PROTOCOLO HTTPS
PROTOCOLO HTTPSPROTOCOLO HTTPS
PROTOCOLO HTTPS
 
Cloud 101: The Basics of Cloud Computing
Cloud 101: The Basics of Cloud ComputingCloud 101: The Basics of Cloud Computing
Cloud 101: The Basics of Cloud Computing
 
Cloud Computing Risk Management (Multi Venue)
Cloud Computing Risk Management (Multi Venue)Cloud Computing Risk Management (Multi Venue)
Cloud Computing Risk Management (Multi Venue)
 

Similaire à Proyecto Python

Sockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque DelgadoSockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque Delgadoguest29f06ee
 
Sockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque DelgadoSockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque Delgadomephistodark
 
C documents and settings_pc10_configuración local_datos de programa_mozilla_...
C  documents and settings_pc10_configuración local_datos de programa_mozilla_...C  documents and settings_pc10_configuración local_datos de programa_mozilla_...
C documents and settings_pc10_configuración local_datos de programa_mozilla_...ORLANDO LOPEZ
 
Sockets en delphi
Sockets en delphiSockets en delphi
Sockets en delphijairoj2012
 
Sockets en c
Sockets en cSockets en c
Sockets en cMaShYy
 
Programacionclienteservidor
ProgramacionclienteservidorProgramacionclienteservidor
Programacionclienteservidorwilmercampos4
 
Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsdandark2000
 
Taller Sockets TCP UDP Multicast
Taller Sockets TCP UDP MulticastTaller Sockets TCP UDP Multicast
Taller Sockets TCP UDP MulticastHector L
 
Tema iv comunicación entre procesos
Tema iv comunicación entre procesosTema iv comunicación entre procesos
Tema iv comunicación entre procesosPablo Hurtado
 
Ejemplos programacion socket java
Ejemplos programacion socket javaEjemplos programacion socket java
Ejemplos programacion socket javaOscar Damian
 
Capa de Transporte - Redes de Computadoras
Capa de Transporte - Redes de ComputadorasCapa de Transporte - Redes de Computadoras
Capa de Transporte - Redes de ComputadorasJesus Jimenez
 
Instalacion servicio e-mail Linux Mint
Instalacion servicio e-mail Linux MintInstalacion servicio e-mail Linux Mint
Instalacion servicio e-mail Linux MintGer Hernandez
 
Sistemas operativos distribuidos ii
Sistemas operativos distribuidos iiSistemas operativos distribuidos ii
Sistemas operativos distribuidos iiMiguel Hernandez
 

Similaire à Proyecto Python (20)

Sockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque DelgadoSockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque Delgado
 
Sockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque DelgadoSockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque Delgado
 
C documents and settings_pc10_configuración local_datos de programa_mozilla_...
C  documents and settings_pc10_configuración local_datos de programa_mozilla_...C  documents and settings_pc10_configuración local_datos de programa_mozilla_...
C documents and settings_pc10_configuración local_datos de programa_mozilla_...
 
Sockets en delphi
Sockets en delphiSockets en delphi
Sockets en delphi
 
Sockets en c
Sockets en cSockets en c
Sockets en c
 
Programacionclienteservidor
ProgramacionclienteservidorProgramacionclienteservidor
Programacionclienteservidor
 
Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas sockets
 
Sockets tcp
Sockets tcpSockets tcp
Sockets tcp
 
El servidor
El servidorEl servidor
El servidor
 
Socket
SocketSocket
Socket
 
Taller Sockets TCP UDP Multicast
Taller Sockets TCP UDP MulticastTaller Sockets TCP UDP Multicast
Taller Sockets TCP UDP Multicast
 
presenjava.ppt
presenjava.pptpresenjava.ppt
presenjava.ppt
 
Tema iv comunicación entre procesos
Tema iv comunicación entre procesosTema iv comunicación entre procesos
Tema iv comunicación entre procesos
 
Sockets/ tcp
Sockets/ tcpSockets/ tcp
Sockets/ tcp
 
Ejemplos programacion socket java
Ejemplos programacion socket javaEjemplos programacion socket java
Ejemplos programacion socket java
 
Networking
NetworkingNetworking
Networking
 
Capa de Transporte - Redes de Computadoras
Capa de Transporte - Redes de ComputadorasCapa de Transporte - Redes de Computadoras
Capa de Transporte - Redes de Computadoras
 
Instalacion servicio e-mail Linux Mint
Instalacion servicio e-mail Linux MintInstalacion servicio e-mail Linux Mint
Instalacion servicio e-mail Linux Mint
 
Sistemas operativos distribuidos ii
Sistemas operativos distribuidos iiSistemas operativos distribuidos ii
Sistemas operativos distribuidos ii
 
Sockets
SocketsSockets
Sockets
 

Dernier

LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 

Dernier (20)

LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 

Proyecto Python

  • 1. &quot;AÑO DE LAS CUMBRES MUNDIALES EN EL PERU&quot; INSTITUTO SUPERIOR TECNOLOGICO PUBLICO MANUEL NUÑEZ BUTRON TALLER DE APLICACIONES MOVILES TEMA SOCKETS EN PYTHON DOCENTE VICTOR PANDO BELTRAN ALUMNOS: MAMANI MAMANI SALVADOR BRUNO HUALLPA MAMANI LENIN LADISLAO MAMANI ROJAS HECTOR AÑO 2008
  • 2.
  • 3. ¿Que es un socket? lo más importante es saber que un socket nos permite comunicarnos con otras computadoras, de esa manera la informacón puede viajar libremente por todos lados. Mucha gente se aterroriza al enterarse que tiene que desarrollar alguna aplicación haciendo uso de sockets, pues el dia de hoy descubriremos que no es nada del otro mundo, este manual se enfoca solamente a sockets en Python, si alguna vez han trabajado con sockets en C se darán cuenta que en Python es mucho más fácil (que no lo es??),
  • 4.
  • 5. Primero que nada... Existen tres dominios de comunicación para un socket: a) El dominio de UNIX. (AF_UNIX) b) El dominio de internet. (AF_INET) c) El dominio NS.
  • 6. El dominio de UNIX. (AF_UNIX)          Se utiliza para la comunicacón entre procesos del sistema. El dominio de internet. (AF_INET)          Se utiliza en procesos que se estan comunicando atravéz de TCP(UDP)/IP El dominio NS.          Se utilizaba sobre los procesos que se comunicaban sobre el protocolo de comunicación de Xerox.
  • 7. Rapido vistazo a algunos elementos de los sockets en Python. Socket Descripcion socket Crea un socket del tipo y familia especificada. socket.accept Acepta nuevas conexiones. socket.connect Conecta el socket a la dirección dada en el puerto dado. socket.send Envia datos al socket especificado. socket.recv Recive información.
  • 8.
  • 9.
  • 10. Veremos cómo crear un programa cliente y servidor a modo de ejemplo. Lo primero que tenemos que hacer es crear un objeto socket para el servidor socket_s = socket.socket() Tenemos ahora que indicar en qué puerto se va a mantener a la escucha nuestro servidor utilizando el método bind. Para sockets IP, como es nuestro caso, el argumento de bind es una tupla que contiene el host y el puerto. El host se puede dejar vacío, indicando al método que puede utilizar cualquier nombre que esté disponible. socket_s.bind((“localhost”, 9999))
  • 11. El método accept se mantiene a la espera de conexiones entrantes, bloqueando la ejecución hasta que llega un mensaje. Cuando llega un mensaje, accept desbloquea la ejecución, devolviendo un objeto socket que representa la conexión del cliente y una tupla que contiene el host y puerto de dicha conexión. socket_s.listen(10) socket_c, (host_c, puerto_c) = socket_s.accept()
  • 12. Una vez que tenemos este objeto socket podemos comunicarnos con el cliente a través suyo, mediante los métodos recv y send (o recvfrom y sendfrom en UDP) que permiten recibir o enviar mensajes respectivamente. El método send toma como parámetros los datos a enviar, mientras que el método recv toma como parámetro el número máximo de bytes a aceptar. recibido = socket_c.recv(1024) print “Recibido: “, recibio socket_c.send(recibido)
  • 13. Una vez que hemos terminado de trabajar con el socket, lo cerramos con el método close. Crear un cliente es aún más sencillo. Solo tenemos que crear el objeto socket, utilizar el método connect para conectarnos al servidor y utilizar los métodos send y recv que vimos anteriormente. El argumento de connect es una tupla con host y puerto, exactamente igual que bind. socket_c = socket.socket() socket_c.connect((“localhost”, 9999)) socket_c.send(“hola”)
  • 14. DIAGRAMA PARA EL SERVIDOR Inicio Leer MR MR<=1024 MR=”salir” “ Adiós” “ Recibido:”,M Fin MR = Mensaje Recibido SI SI NO NO
  • 15. DIAGRAMA PARA EL CLIENTE Inicio Leer M M=”salir” “ Adiós” Fin ENVIAR M SI NO M = mensaje escrito por teclado
  • 16. Este sería el código del script servidor: import socket s = socket.socket() s.bind(('localhost', 8888)) s.listen(1) sc, addr = s.accept() while True: recibido = sc.recv(1024) if recibido == ‘salir': break print 'Recibido:', recibido sc.send(recibido) print 'adios' sc.close() s.close()
  • 17. Y a continuación tenemos el del script cliente: import socket s = socket.socket() s.connect(('localhost', 9999)) while True: mensaje = raw_input('> ') s.send(mensaje) if mensaje == ‘salir': break print 'adios' s.close()
  • 18.  
  • 19. Hemos aprendido a comunicarse con un servidor de un cliente usando sockets en Python. Asi es como trabajan los sockets, y hay un sin fin de maneras de como trabajar con ellos Un popular ejemplo, En una típica aplicación de chat, cada cliente es un servidor también, y cada servidor es un cliente así, es decir, los clientes deben ser capaces de escuchar y servidores deben ser capaces de transmitir datos. Conclusión
  • 20. Nuestra recomendación seria que al realizar cualquier proyecto traten de entender bien el problema par así poder darle una buena solución Y cualquier información por pequeña q parezca es buena Recomendación
  • 21. BIBLIOGRAFIA http :// elnanni.googlepages.com / index_sock.html http :// mundogeek.net /archivos/2008/04/12/ sockets -en- python / http :// launchpadlibrarian.net /18980633/ Python%20para%20todos.pdf http :// victorpando.blogspot.com /2008_12_01_ archive.html
  • 22.