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.

Responder a