Comunicação Cliente-Servidor Linguagem para Internet II Prof. Marcelo da Silveira Siedler [email protected] SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS Sockets o São objetos que fornecem um padrão portável para aplicações em redes e trabalham com certos protocolos de rede (TCP/IP, UDP/IP, etc..). o Eles permitem que programas aceitem conexões para receber e enviar dados. o Classe socket Classe socket o Documentação: o http://docs.python.org/library/socket.html o Método socket(family, type) o cria e retorna um novo objeto socket. o family pode ser AF_INET para a Protocolo IPv4 como o TCP e o UDP. o type pode ser stream para protocolo TCP(SOCK_STREAM) e datagram para protocolo UDP(SOCK_UDP). Classe socket o Método gethostname() o retorna o nome do computador na qual o programa está executando. >>>import socket >>>socket.gethostname() 'sssssssss' o gethostbyname(name) o retorna o endereço IP, checando primeiro se o computador corrente pode fazer a conversão, se não for possível esta requisição é feita a um computador remoto DNS, se não for possível retorna erro. >>>socket.gethostbyname('www.python.org') '132.151.1.90‘ o getservbyname(service, protocol) o retorna o número da porta do serviço. >>>socket.getservbyname('http','tcp') 80 o Número das Portas: o 80 - HTTP – Web pages o 119 – NNTP – Usenet news o 20/21 – FTP transfer/FTP control – Transferência de arquivos o 25 – SMTP – Envio de e-mail o 110 – POP3 – Busca de e-mail o 143 – IMAP4 – Busca de e-mail o 23 – TELNET – Linha de Comando o 70 – Gopher – Transferência de Documentos o accept() - aceita uma nova conexão e retorna o o o o os valores: o novo objeto socket e o endereço que o socket está comunicando. bind(hostmane, port) – conecta o socket ao endereço da porta. close() - fecha o socket. connect(hostname, port) – conecta-se com outro socket, que pode ser externo ou local. Para conexão local use como hostname localhost. getpeername() - retorna o endereço IP e a porta na qual o socket está conectado. o getsocketnome()- retorna o endereço IP da o o o o o o porta do próprio socket. listen(max_connections) – inicia ouvindo a porta e fica esperando outras conexões. O sistema operacional recusa novas conexões quando ela atingir o valor máximo de conexões. makefile([modem [,buffersize]]) – cria um objeto arquivo para ler e escrever, útil em protocolos orientados a stream. recvfrom(buffersize) – retorna uma string de dados do socket, usado para protocolo UDP. send(string) – envia uma string de dados pelo socket. Usada em protocolo UDP. sendto(string,(hostname,port)) – envia string para o servidor hostname na porta port. setblocking(flag) – bloqueia todas as leituras e escritas no socket. Trabalahando com a API do GoogleMaps