Aula de Socket. Rafael De Tommaso do Valle
|
|
|
- Amadeu Castel-Branco Imperial
- 9 Há anos
- Visualizações:
Transcrição
1 Aula de Socket Rafael De Tommaso do Valle 20 de agosto de 2009
2 Socket O que é um socket? É uma interface com qual processos em diferentes hosts se comunicam através da rede; Também chamado de interface de programação da aplicação (API); Um socket é a interface entre a camada de aplicação e a de transporte da rede. Internet sockets (nosso interesse): UDP não orientado à conexão (Datagram Sockets) TCP orientado à conexão (Stream Sockets)
3 Sockets em C Para programação de sockets será utilizada a linguagem C; Possui um conjunto de funções para a criação de sockets; Os sockets deverão ser executados em Sistemas Unix.
4 Estrutura file:///home/rafael.valle/desktop/sockets.png
5 Endereçamento Estrutura de endereçamento struct sockaddr_in{ short int sin_family; unsigned short int sin_port; struct in_addr sin_addr; unsigned char sin_zero[8]; } O primeiro item da estrutura define o tipo de família do protocolo a ser usado (AF_INET). O segundo indica o número da porta TCP ou UDP usada na comunicação entre os processos. Para se atribuir o valor a este item, é necessário usar uma função que transforma a representação de dados do host na representação de dados da rede.
6 Endereçamento Mas como fazer isso? sin.sin_port = htons (SERVER_PORT); onde SERVER_PORT é o número da porta a ser utilizada. O terceiro item é o endereço IP do host de destino. No caso do servidor, utiliza-se a constante INADDR_ANY. Nos clientes usaremos a função inet_addr() ou gethostbyname(). O quarto item sin_zero existe para zerar a parte da estrutura que não foi usada, já que é alocado espaço para o maior tamanho de endereço possível.
7 Funções Criação do socket Função socket() int socket(int family, int type, int protocol); int family: indica a família de protocolos que será utilizada (PF_INET). int type: define o tipo de socket a ser criado (para UDP, SOCK_DGRAM e para TCP, SOCK_STREAM). int protocol: identifica o protocolo específico a ser usado. Neste caso será nulo, já que os dois primeiros argumentos já identificam exclusivamente o protocolo. Se o socket é criado, retorna o descritor de arquivos para este socket, caso contrário retorna um valor negativo.
8 Funções Associação do socket a uma porta Função bind() int bind(int socket, struct sockaddr *address, int addr_len); int socket: é o socket criado pela função socket(). struct sockaddr *address: é a estrutura de endereçamento que contém as informações necessárias para o estabelecimento da associação. int addr_len: é o tamanho dessa estrutura, pois, dependendo da família e do protocolo utilizados, ele varia. Retorna um valor negativo em caso de insucesso.
9 Funções TCP Fila de Conexões Pendentes Função listen() Instrui o socket a esperar pela conexão de um cliente. int listen(int socket, int backlog); Estabelecimento da Conexão Função accept() Aceita conexão com o cliente. int accept(int socket, struct sockaddr *address, int *addr_len); Conexão Função connect() Usado pelo cliente para estabelecer conexão com o servidor int connect(int socket, struct sockaddr *address, int addr_len);
10 Função de envio UDP Envio de mensagens usando UDP Função sendto() ssize_t = sendto(int socket, char *message, int msg_len, int flags, struct sockaddr *address, int addr_len); char *message: é o endereço da variável onde se encontra a mensagem que se deseja transmitir pelo socket. int msg_len: tamanho dessa mensagem. int flags: é um conjunto de flags que controlam certos detalhes da operação mas que podem receber um valor nulo. struct sockaddr *address: estrutura de endereçamento de destino. int addr_len: tamanho da estrutura de endereçamento (sizeof address). Retorna o número de bytes enviados ou 1, em caso de erro.
11 Função de recepção UDP Recepção de mensagens usando UDP Função recvfrom() ssize_t = recvfrom(int socket, char *buffer, int buffer_len, int flags, struct sockaddr *address, int *addr_len); Argumentos similares a função sendto(); A função retorna, além do datagrama recebido (no segundo argumento), a estrutura de endereçamento da origem de forma que o destino possa enviar-lhe uma resposta (quinto argumento) e o número de bytes da área de dados recebidos ou 1 em caso de erro.
12 Funções Fechando o socket Função close() int close(int socket); A função retorna um valor nulo em caso de sucesso. Bibliotecas Para usar estas funções, devem ser incluídas as seguintes bibliotecas: #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h>
13 Referências Computer Networks A System Approach Larry Peterson & Bruce Davie Morgan Kauffman 2ª edição (exemplo de um programa cliente e de um programa servidor usando TCP Capítulo 1 Pasta 635 na Xerox da Ângela) Unix Network Programming Richard Stevens Prentice Hall 2ª edição Volume 1 (referências sobre programação de interfaces socket) Beej's Guide to Network Programming, Using Internet Sockets - Brian "Beej Jorgensen" Hall -
14 Exemplo Socket UDP: Dois arquivos: Servidor: que espera por mensagens na porta 5000; Cliente: que envia mensagens a esse servidor.
Programação com Sockets TCP e UDP - Cliente. Gustavo Leitão
Programação com Sockets TCP e UDP - Cliente Gustavo Leitão 5/24/2010 INTRODUÇÃO Objetivo da Aula OBJETIVO DA AULA Apresentar ao aluno conceitos e prática em sockets INTRODUÇÃO O que é um socket? INTRODUÇÃO
Servidor UDP. Programação Sockets Volnys Bernal. Servidor UDP Resumo das Chamadas UDP. Resumo de Chamadas UDP. Resumo de Chamadas UDP
2004-2015 Volnys Bernal 1 2004-2015 Volnys Bernal 2 Resumo das Chamadas UDP Volnys Borges Bernal [email protected] Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2015 Volnys Bernal
Programação TCP/IP (sockets)
Programação TCP/IP (sockets) Instituto Superior de Engenharia de Lisboa Departamento de Engenharia de Electrónica e Telecomunicações e de Computadores Redes de Computadores Aplicações 17-03-2010 Programação
Introdução à Programação com Sockets. Fernando Jorge Silveira Filho Daniel Sadoc Menasché
Introdução à Programação com Sockets Fernando Jorge Silveira Filho [email protected] Daniel Sadoc Menasché [email protected] Visão Geral Objetivos: Realizar comunicação entre processos. Entender como
Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets
00-0 Volnys Bernal 00-0 Volnys Bernal Agenda Introdução à Programação Sockets Volnys Borges Bernal [email protected] Departamento de Sistemas Eletrônicos Escola Politécnica da USP Interface de programação
sockets interprocess communication Taisy Weber
sockets interprocess communication Taisy Weber Comunicação entre processos Mecanismos Pipes, FIFO (named pipes), semáforos, message queues. Memória compartilhada. Sockets Definição, chamadas de sistemas,
Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS
Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS Processo Usuário Processo Usuário SO IPC em um mesmo sistema 2 Processo Usuário Processo usuário
Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets
Sockets - Conceitos Básicos COMUNICAÇÃO ENTRE PROCESSOS Sockets! Sockets são uma forma de IPC (InterProcess Communication ) fornecida pela 4.3 BSD que fornecem comunicação entre processos residentes em
Aula Prática. Comunicação em SOCKTS. Disciplina: INF01151
Aula Prática Comunicação em SOCKTS Disciplina: INF01151 Prof. Dr. Cláudio Fernando Resin Geyer Monitor: Julio Anjos Agenda 1 - Objetivo Apresentar na prática a comunicação entre processos usando sockets
TROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão
TROCA DE MENSAGENS SOCKETS Comunicando processos através de SOCKETS SOCKETS com conexão SOCKETS sem conexão SOCKETS Princípios dos sockets: 2. Fornecer uma interface geral permitindo a construção de aplicações
Um Tutorial sobre Sockets Parte I
Um Tutorial sobre Sockets Parte I Por Antonio Marcelo Iniciando As grandes ferramentas utilizadas por especialistas de segurança, hackers e crakers tem como base a linguagem C ANSI ou C ++. Muitos dos
Sistemas de Operação Sockets
Sistemas de Operação Sockets O que é um socket? Uma interface de comunicação entre processos que podem ou não residir na mesma máquina, mas que não precisam estar relacionados. É usado normalmente para
Sockets. André Restivo. April 29, Faculdade de Engenharia da Universidade do Porto. André Restivo (FEUP) Sockets April 29, / 27
Sockets André Restivo Faculdade de Engenharia da Universidade do Porto April 29, 2013 André Restivo (FEUP) Sockets April 29, 2013 1 / 27 Sumário 1 Introdução 2 Cliente/Servidor 3 API C++ 4 André Restivo
Sistemas Distribuídos
Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Introdução: Sockets Para estabelecer a Comunicação Interprocesso nos Sistemas Distribuídos,
Bibliotecas. Apoio à Programação Distribuída. Socket. Socket. bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas
Apoio à Programação Distribuída bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas flexibilidade de programação disponibilidade da ferramenta facilidade de desenvolvimento e reuso
Modelo Cliente/Servidor e Introdução a Sockets
Modelo Cliente/Servidor e Introdução a Sockets MC 833 Programação em s de Computadores Instituto de Computação UNICAMP Juliana Freitag Borin O modelo OSI de 7 camadas Nó origem Nó destino Apresentação
Programação com Sockets
Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas
Comunicação entre Processos. 1. Pipes 2. Fifos 3. Sockets
Comunicação entre Processos 1. Pipes 2. Fifos 3. Sockets Pipes Implementa um canal de comunicação associado a um processo Limitações: Os dados apenas fluem num sentido Só podem ser usados entre processos
Redes de Computadores e Aplicações
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Redes de Computadores e Aplicações Aula 13 - Camada de Aplicação Visão Geral Prof. Diego Pereira
06/10/2015. Modelo TCP/IP Camada de Transporte DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES. UDP User Datagram Protocol. UDP User Datagram Protocol
Tecnologia em Jogos Digitais Modelo TCP/IP Camada de Transporte DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES O transporte dos dados na INTERNET é realizado por dois protocolos. PROTOCOLOS TCP E UDP
Comunicação entre Processos
Comunicação entre Processos Comunicação memória compartilhada troca de mensagens base de comunicação em sistemas distribuídos Mensagens básicas send (destino, msg) receive (origem, mensagem) questões semântica
Programação. Para estas funções, é necessário incluir a biblioteca: Seguem as operações mais comuns com arquivos.
1. Funções de E/S cm Arquiv: Prgramaçã Para estas funções, é necessári incluir a bibliteca: #include Para manipular um arquiv através das funções, é necessári criar um pnteir de arquiv que é um
Cliente/Servidor. Programação com Sockets. Graça Bressan. Graça Bressan/LARC 2000 1
Cliente/Servidor Programação com Sockets Graça Bressan Graça Bressan/LARC 2000 1 Interface através de Sockets Socket é uma API ( Aplication Program Interface ) para acesso aos serviços do protocolo de
INF01018 Aula Prática 1 Cliente-Servidor e Multicast
1 / 30 INF01018 Aula Prática 1 Cliente-Servidor e Multicast Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais
Programação de Sockets em C/C++
Programação de Sockets em C/C++ Redes de Comunicação 2011/2012 1 Programação de Sockets em C/C++ 2 TCP 3 UDP Introdução Os sockets são um método de criar conexão entre processos, independente do protocolo.
Módulo 3 Nível Transporte
Nível Transporte Redes de Computadores - LTIC António Casimiro 2º Semestre 2014/15 Adaptado a partir de: Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross, Addison Wesley,
Sockets IPv6 para C/C++ - Criando e Portando Aplicações
Sockets IPv6 para C/C++ - Criando e Portando Aplicações Rodrigo Regis dos Santos [email protected] 25 de Junho de 2009 Agenda O CGI.br e o NIC.br. O Protocolo IPv6. Interoperabilidade Portando Aplicações.
Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO
Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO Engenharia Elétrica Eletrônica Tutorial: Programação
Comunicação entre Processos por Troca de Mensagens. Prof. Celso maciel da Costa
Comunicação entre Processos por Troca de Mensagens Prof. Celso maciel da Costa Troca de Mensagens Com memória compartilhada: os processo compartilham variáveis e trocam informações através do uso de variáveis
Sockets e Threads em Java
Sockets e Threads em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R Y A N O Comunicação
Redes de Computadores. Lab 2 - Computer Networks
Redes de Computadores Lab 2 - Computer Networks Manuel P. Ricardo Faculdade de Engenharia da Universidade do Porto 1 Lab Work Two parts Part 1 Development of download application download ftp://ftp.up.pt/pub/...
MC823 Laboratório de Teleprocessamento e Redes
MC823 Laboratório de Teleprocessamento e Redes Primeiro Semestre 2008 Carlos R. Senna Prof. Edmundo R. M. Madeira Tecnologias de Comunicação 2 MC823 Funções para cliente-servidor UDP 3 well-known port
Relatório do Laboratório 3
Relatório do Laboratório 3 Diogo Costa e Lucas Magrini Rigo 180188 e 161064 23 de setembro de 2011 Universidade Federal do Rio Grande do Sul INF01154 Redes de Computadores N For: Valter Roesler 1 Introdução
Programação de Sistemas. Sockets. Programação de Sistemas Sockets : 1/66
Programação de Sistemas Sockets Programação de Sistemas Sockets : 1/66 Introdução à Internet (1) A. Modelo de comunicação na rede de computadores O mais divulgado é a Internet. Baseada numa pilha de protocolos
Protocolos de Aplicação
AP 1 Protocolos de Aplicação (2º trabalho laboratorial) FEUP/DEEC RC / CDRC I 2005/06 MPR/JAR AP 2 Introdução Introdução à pilha de comunicações TCP/IP Interface de sockets Protocolos de aplicação» POP3,
Canais de Comunicação
Canais de Comunicação February 24, 2010 Sumário Comunicação via Mensagens Propriedades dum Canal de Comunicação Protocolos da Internet UDP TCP Aplicação Distribuída O que é? É uma aplicação que consiste
Sistemas Operacionais:
Sistemas Operacionais: Sistemas Distribuídos e Programação em Redes de Computadores Dierone Cesar Foltran Junior dcfoltran at yahoo.com Sistemas Distribuídos Sistemas Computacionais Distribuídos Lamport:
Resumo das Propriedades de UDP e de TCP
Relembrando... Processos duma aplicação distribuída comunicam via mensagens. O formato e o significado destas mensagens depende do protocolo usado. As mensagens são transportadas entre processos através
Redes de Computadores II. Programação com Sockets em Python
v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha [email protected] UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE
Obter conhecimentos básicos sobre programação socket para desenvolver softwares clientes.
Objetivo: Obter conhecimentos básicos sobre programação socket para desenvolver softwares clientes. Atividade 1 Estude, compile, corrija (se necessário) e teste o programa hostbyaddr.c. Modifique o programa
Redes de Computadores I
Departamento de Engenharia Electrotécnica e de Computadores Secção de Telecomunicações Redes de Computadores I Introdução à Interface "Socket" do UNIX Licenciatura de Engenharia Informática e de Computadores
Programação com sockets (em Java)
com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission
Tutorial de Sockets - Parte I Por: Frederico Perim
Tutorial de Sockets - Parte I Por: Frederico Perim O que é um Socket? Você já deve ter ouvido faler sobre Sockets e talvez esteja imaginando do que se trata exatamente. Bem, resumindo: através de Sockets
PROTOCOLOS DE COMUNICAÇÃO
PROTOCOLOS DE COMUNICAÇÃO 3º ANO / 2º SEMESTRE 2014 INFORMÁTICA [email protected] Ambrósio Patricio Vumo Computer Networks & Distribution System Group Serviços de Transporte na Internet Arquitectura TCP/IP
Trabalho 02: Cliente e Servidor em C
Trabalho 02: Cliente e Servidor em C Redes de Computadores 1 Descrição Este trabalho deve ser entregue no Moodle até a data correspondente de entrega. Envie sua resposta somente em texto a não ser que
REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar
- Aula 7 - MODELO DE REFERÊNCIA TCP O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande utilidade para entender
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD
Camada de Transporte Protocolos TCP e UDP
Arquitetura de Redes de Computadores e Tecnologia de Implementação de Redes 2016.1 Camada de Transporte Protocolos TCP e UDP Curso Técnico Integrado em Informática Turma: INT.INF.3M Arquitetura de Redes
