Atualizado em 08/08/2011 Critérios de avaliação e programa da disciplina
O objetivo principal desta disciplina é familiarizar os alunos com conceitos básicos de programação de aplicações Cliente-Servidor utilizando a biblioteca "Berkeley Sockets" com a linguagem C e usando os protocolos TCP e UDP. Isto permite explorar recursos poderosos da biblioteca não disponíveis em outras linguagens.
Será tomado como modelo de aplicação o exemplo do "Serviço de Eco" adotado pelo livro clássico de Richard Stevens (veja bibliografia a seguir). Nesta aplicação as linhas de um arquivo texto (possivelmente grande) são sucessivamente enviadas do cliente para um servidor remoto que simplesmente envia de volta ao cliente cada linha recebida; diferentes técnicas para implementar esta aplicação são detalhadas, e os alunos implementarão várias delas como atividades de laboratório; as técnicas mais sofisticadas conseguem um desempenho de 1 a 2 ordens de magnitude melhor do que a técnica simples de "Pedido-Resposta"(*).
Documentos adicionais diversos.
Veja em particular o documento sobre buferização da biblioteca padrão.
Lista de sinais
suportados por Linux.
Funções para tratar cadeias de caracteres:
C string functions
Uma rápida introdução a scripts CGI em C