Comunicação via Sockets
1º – Implemente um código que demonstre o funcionamento de um socket. É necessário que para avaliação da atividade sejam apresentados os seguintes itens:
a) Código fonte da aplicação;
b) Print das telas demonstrando a aplicação em funcionamento;
c) Explicar o funcionamento do socket através das primitivas de comunicação (socket, bind, listen, connect e etc) presentes na aplicação.
Sugestão de Material: Livro Sistemas Distribuídos – Desenvolvendo Aplicações de Alta Performance no Linux. Autor: Uirá Ribeiro. Editora: AXCEL Books.
ITEM A
# Estácio - Redes de Computadores
# Arquitetura de Sistemas Distribuídos
# Autor: Jonas Campos
# Aplicação: Sockets - Envio de mensagem do Client para o Servidor
# Modulo: Server
import socket host = '172.16.94.7' port = 7000 addr = (host, port) serv_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serv_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serv_socket.bind(addr) serv_socket.listen(10) print 'aguardando conexao' con, cliente = serv_socket.accept() print 'conectado' print "aguardando mensagem " recebe = con.recv(1024) print "mensagem recebida: " + recebe serv_socket.close() ################################
# Estácio - Redes de Computadores
# Arquitetura de Sistemas Distribuídos
# Autor: Jonas Campos
# Aplicação: Sockets - Envio de mensagem do Client para o Servidor
# Modulo: Client import socket ip = raw_input('digite o ip de conexao: ') port = 7000 addr = ((ip,port)) client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect(addr) mensagem = raw_input("digite uma mensagem para enviar ao servidor ") client_socket.send(mensagem) print 'mensagem enviada' client_socket.close() ################################
ITEM B
ITEM C
Socket é um mecanismo da camada de transporte do modelo TCP/IP, onde é criado um processo fim-a-fim entre dois hosts,