Hi Jim,

This completely worked for me, thanks for the clear example! I didn't even
think to check if (udp-open-socket) also accepted extra arguments.

Thanks again!
Scott

On Tue, Feb 17, 2015 at 4:17 AM, Jim Ursetto <[email protected]> wrote:

> Scott,
>
> This works on my system (10.10.2, CHICKEN 4.8.0.6).  Note the undocumented
> argument to udp-open-socket… not sure what I was thinking.
> If this works for you, I will document the argument and add the example to
> the wiki.
>
>
> (use udp6)
>
> (define s (udp-open-socket 'inet6))
> (udp-bind! s "::" 1337)    ;; unspecified address; accept both ipv4 and
> ipv6
> (let loop ()
>   (receive (len str host port) (udp-recvfrom s 1024)
>     (print "received " len " bytes from [" host "]:" port " : " str))
>   (loop))
> (udp-close-socket s)
>
>
> ;; Then we can run netcats using IPv4 and IPv6:
>
> $ nc -6 -u localhost 1337
> hello
> ^C
>
> $ nc -4 -u localhost 1337
> hi
> ^C
>
> ;; And you should get the following output:
>
> received 6 bytes from [::1]:62028 : hello
> received 3 bytes from [::ffff:127.0.0.1]:61031 : hi
>
>
> On Feb 16, 2015, at 07:06, Scott McCoid <[email protected]> wrote:
>
> Hi Christian!
>
> Thanks for the quick help and netcat tip. I was able to send from my
> script and receive with netcat (for example: *nc -u -6 -l 8000*) without
> any problems. (sending to port 8000 in my script)
>
> I've tried doing the reverse situation, where I receive on the script side
> and send using netcat, but I haven't been able to get this to work. I don't
> have any errors, but I'm not receiving anything for some reason.
>
> I'll work on some chicken scripts that talk to each other and see if I can
> get this to work properly.
>
> Thanks again for your help!
> Scott
>
> On Mon, Feb 16, 2015 at 11:49 AM, Christian Kellermann <
> [email protected]> wrote:
>
>> Hi Scott!
>>
>> Scott McCnoid <[email protected]> writes:
>>
>> > I'm reasonably new to chicken-scheme (and scheme in general), and I'm
>> > having trouble with the udp6 (and likewise, socket) eggs. I'm trying to
>> run
>> > the example code, but the connection is always refused.
>> >
>> > *Error: (socket-receive!) cannot read from socket - Connection refused:
>> > #<socket fd:4 af/inet sock/dgram>*
>> >
>> > I looked into the socket code and it seems that this is probably not the
>> > fault of these eggs per se, but probably something I'm doing wrong. For
>> > example, the *%socket-receive!* function makes a call to the
>> <sys/socket.h>
>> > *recv* function, which always returns -1. I've tried using other port
>> > numbers to connect to, but this doesn't seem to make a difference.
>> >
>> > I'm on Mac OS *10.10.2* using chicken scheme v.* 4.9.0.1
>> *(stability/4.9.0)
>> > (rev 8b3189b)
>> >
>> > I'm happy to help track this down if it's a bug, just let me know.
>>
>> The most likely reason is that on Mac OS X there is noone listening on
>> port 13.
>>
>> You can check that manually with "nc localhost 13".
>>
>> The next problem is that noone is actually listening on ipv6 for that
>> port. I ran into this when trying to simulate the datetime service with:
>>
>> "date | sudo nc -u -l -p 13"
>>
>> Connecting with v4 works, with v6 it doesn't.
>>
>> My suggestion is to test this with a known open service on your system
>> or by creating a server explicitly bound to a v6 address.
>>
>> Please don't hesitate to report further issues and troubles!
>>
>> Kind regards,
>>
>> Christian
>>
>> --
>> May you be peaceful, may you live in safety, may you be free from
>> suffering, and may you live with ease.
>>
>>
>> _______________________________________________
>> Chicken-users mailing list
>> [email protected]
>> https://lists.nongnu.org/mailman/listinfo/chicken-users
>>
>
> _______________________________________________
> Chicken-users mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/chicken-users
>
>
>
_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to