getnameinfo() e getaddrinfo() (Atividade 01);
getsockname() e getpeername().
Obs.: Depois de categorizada, uma FAQ é anexada ao fim da categoria.
R: O relatório deverá ser entregue até a meia-noite, em formato eletrônico.
/lib/libc.so.6: undefined reference to `__libc_stack_end@GLIBC_2.1' collect2: ld returned 1 exit status
R: Isso deve ocorrer para quem usa o ambiente do GPSL. Adicione a linha GPSL_PRIORITY=1 antes da chamada ~gpsl/configurar_area.sh ao seu arquivo de inicialização do shell.
R: As máquinas tigre.ic.unicamp.br e pinheiros.ic.unicamp.br são SPARC e rodam SunOS (Solaris que mudou de nome).
R: Para compilar no Solaris, use:
gcc -Wall -o arq arq.c -lsocket -lresolv -lnls
R: As máquinas belem.ic.unicamp.br e manaus.ic.unicamp.br rodam Linux e servidor de acesso remoto seguro (SSH) e estão integradas ao ambiente do IC (montam home).
send() não envie todos os dados em uma só chamada. Ainda na mesma seção é apresentada a função sendall() que repete o send() até mandar todos os dados. Devo implementar/usar sendall() (ou similar) neste experimento?
R: Não. O objetivo do experimento é demonstrar que não há correspondência entre o número de send()s e o número de recv()s. Para tal, o cliente deve efetuar apenas um send() de (cerca de) 32KB de dados e mostrar quanto foi realmente enviado. Foi constatado que, no Linux, todos os 32KB são enviados em uma chamada.
Já no lado servidor, será necessário, sim, repetir recv() até que recv(...)==0 (fim da transmissão). Não use o indicador MSG_WAITALL.
Leitura recomendada:
send(2) (em especial sobre a opção MSG_DONTWAIT, que não deve ser usada na atividade 2);
SO_SNDTIMEO em socket(7), que diz que no Linux send() não é interrompido por timeout (isso ocorre no BSD, de acordo com livro TCP/IPv2; visto que o livro é de 1995, pode ter mudado desde então).
telnet localhost 3490 < arquivo
e recebi a mensagem de erro "Broken pipe". O que aconteceu?
R: O telnet é um comando interativo e espera que a entrada padrão seja um terminal. Para mais informações veja a página http://linuxgazette.net/issue50/tag/34.html e o comando netcat/nc(1).
/etc/services
made with txt2tags