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

Operation of Ping - (Computer Networking)
Operation of Ping - (Computer Networking) Operation of Ping - (Computer Networking)
Operation of Ping - (Computer Networking) Jubayer Al Mahmud
 
DHCP Server & Client Presentation
DHCP Server & Client PresentationDHCP Server & Client Presentation
DHCP Server & Client Presentationraini
 
ICE: The ultimate way of beating NAT in SIP
ICE: The ultimate way of beating NAT in SIPICE: The ultimate way of beating NAT in SIP
ICE: The ultimate way of beating NAT in SIPSaúl Ibarra Corretgé
 
IP addressing seminar ppt
IP addressing seminar pptIP addressing seminar ppt
IP addressing seminar pptSmriti Rastogi
 
Elliptical curve cryptography
Elliptical curve cryptographyElliptical curve cryptography
Elliptical curve cryptographyBarani Tharan
 
Multiprotocol label switching (mpls) - Networkshop44
Multiprotocol label switching (mpls)  - Networkshop44Multiprotocol label switching (mpls)  - Networkshop44
Multiprotocol label switching (mpls) - Networkshop44Jisc
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c mouad Lousimi
 
How to configure port security in cisco switch
How to configure port security in cisco switchHow to configure port security in cisco switch
How to configure port security in cisco switchIT Tech
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming TutorialJignesh Patel
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux FirewallMarian Marinov
 
IP, DNS and MAC concepts
IP, DNS and MAC conceptsIP, DNS and MAC concepts
IP, DNS and MAC conceptsIrshaad Abdool
 
Network access control (nac)
Network access control (nac)Network access control (nac)
Network access control (nac)cyberlocke
 
Intelligent Heuristics for the Game Isolation
Intelligent Heuristics  for the Game IsolationIntelligent Heuristics  for the Game Isolation
Intelligent Heuristics for the Game IsolationKory Becker
 

Tendances (20)

DHCP Server Guaidlines using CISCO PACKET TRACER
DHCP Server Guaidlines using CISCO PACKET TRACERDHCP Server Guaidlines using CISCO PACKET TRACER
DHCP Server Guaidlines using CISCO PACKET TRACER
 
Operation of Ping - (Computer Networking)
Operation of Ping - (Computer Networking) Operation of Ping - (Computer Networking)
Operation of Ping - (Computer Networking)
 
DHCP Server & Client Presentation
DHCP Server & Client PresentationDHCP Server & Client Presentation
DHCP Server & Client Presentation
 
ICE: The ultimate way of beating NAT in SIP
ICE: The ultimate way of beating NAT in SIPICE: The ultimate way of beating NAT in SIP
ICE: The ultimate way of beating NAT in SIP
 
IP addressing seminar ppt
IP addressing seminar pptIP addressing seminar ppt
IP addressing seminar ppt
 
Lzw
LzwLzw
Lzw
 
Network Sockets
Network SocketsNetwork Sockets
Network Sockets
 
Ceh v5 module 03 scanning
Ceh v5 module 03 scanningCeh v5 module 03 scanning
Ceh v5 module 03 scanning
 
Elliptical curve cryptography
Elliptical curve cryptographyElliptical curve cryptography
Elliptical curve cryptography
 
Dhcp
DhcpDhcp
Dhcp
 
Multiprotocol label switching (mpls) - Networkshop44
Multiprotocol label switching (mpls)  - Networkshop44Multiprotocol label switching (mpls)  - Networkshop44
Multiprotocol label switching (mpls) - Networkshop44
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c
 
How to configure port security in cisco switch
How to configure port security in cisco switchHow to configure port security in cisco switch
How to configure port security in cisco switch
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming Tutorial
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewall
 
IP, DNS and MAC concepts
IP, DNS and MAC conceptsIP, DNS and MAC concepts
IP, DNS and MAC concepts
 
Network access control (nac)
Network access control (nac)Network access control (nac)
Network access control (nac)
 
DHCP
DHCPDHCP
DHCP
 
Intelligent Heuristics for the Game Isolation
Intelligent Heuristics  for the Game IsolationIntelligent Heuristics  for the Game Isolation
Intelligent Heuristics for the Game Isolation
 
PNETLab.pdf
PNETLab.pdfPNETLab.pdf
PNETLab.pdf
 

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

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 

Dernier (20)

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
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
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 

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.