Oi Alex, Sua explicação está ótima!
Se precisar de mais informações sobre o egg udp, veja na documentação aqui: http://chicken.wiki.br/eggref/3/udp J. On Tue, Apr 27, 2010 at 03:41:21PM -0300, Alexsandro Soares wrote: > Obrigado Mario e Jeronimo pelas dicas. O exemplo agora funciona perfeitamente. > > Só para o caso de outros novatos em Chicken (como eu sou agora) > precisarem, aqui vai a lista de passos que usei para executar o > exemplo (eu uso Ubuntu 9.10): > 0 - instale a extensão udp do chiken: > sudo chicken-install udp > 1 - crie um arquivo, que no meu caso chamei de exemplo.scm, com o > conteúdo abaixo: > (use udp) > (define s (udp-open-socket)) > (udp-bind! s #f 0) > (udp-connect! s "localhost" 13) ; daytime service > (udp-send s "\n") > (receive (n data from-host from-port) (udp-recvfrom s 64) > (print* n " bytes from " from-host ":" from-port ": " data)) > (udp-close-socket s) > > 2 - Abra o serviço daytime: > 2.1 - Instale o xinetd: > sudo apt-get install xinetd > 2.2 - Abra o arquivo /etc/xinetd.d/daytime em algum editor de sua > preferência. Aqui vai o exemplo em emacs: > sudo emacs /etc/xinetd.d/daytime > 2.3 - Na terceira linha abaixo daquela com o comentário # This is the > udp version, > substitua a opção > disable = yes > por > disable = no > 2.4 - Salve o arquivo e saia do editor. > 2.5 - Reinicie o serviço: > sudo invoke-rc.d xinetd reload > > 3 - Execute a linha abaixo: > csi exemplo.scm > > e obterás, após as linhas de inicialização do Chicken, algo como > > 26 bytes from 127.0.0.1:13: 27 APR 2010 15:23:22 BRT > > Espero não ter chovido no molhado. > > Alex > > > 2010/4/27 Mario Domenech Goulart <[email protected]>: > > Alô Alex > > > > On Tue, 27 Apr 2010 14:36:46 -0300 Alexsandro Soares > > <[email protected]> wrote: > > > >> Tentei seguir o exemplo dado no arquivo udp.scm e obtive o seguinte erro: > >> > >> ---------------------------------------------------------------------- > >> CHICKEN > >> (c)2008-2010 The Chicken Team > >> (c)2000-2007 Felix L. Winkelmann > >> Version 4.4.0 > >> linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ] > >> compiled 2010-04-27 on quadri (Linux) > >> > >> #;1> (require 'udp) > >> ; loading /usr/local/chicken-4.4.0/lib/chicken/5/udp.so ... > >> #;2> (define s (udp-open-socket)) > >> > >> Error: unbound variable: udp-open-socket > >> > >> Call history: > >> > >> <syntax> (define s (udp-open-socket)) > >> <syntax> (##core#set! s (udp-open-socket)) > >> <syntax> (udp-open-socket) > >> <eval> (udp-open-socket) <-- > >> ------------------------------------------------------------------------ > >> > >> O que eu fiz de errado? > > > > O exemplo está errado. Esta extensão deve ter sido portada da versão 3 > > do compilador para a versão 4, e o exemplo não foi modificado. > > > > Tenta > > > > (use udp) > > > > em vez de > > > > (require 'udp) > > > > Pela cara do REPL que colocaste na mensagem, aparentemente estás > > usando-o "na pureza". Recomendo a instalação da extensão readline e a > > inclusão do seguinte no teu arquivo ~/.csirc: > > > > (use readline) > > (current-input-port (make-gnu-readline-port "csi> ")) > > (gnu-history-install-file-manager > > (string-append (or (getenv "HOME") ".") "/.csi.history")) > > > > Deve ajudar na edição de código no REPL. Outra alternativa é usar o > > REPL dentro do Emacs, caso uses Emacs. > > > > Mario > > -- > > http://parenteses.org/mario > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Lisp-br" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > > http://groups.google.com/group/lisp-br?hl=en. > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Lisp-br" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/lisp-br?hl=en. > -- You received this message because you are subscribed to the Google Groups "Lisp-br" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/lisp-br?hl=en.
