[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problems with running Network Socket Examples
From: |
Erik Grun |
Subject: |
Re: Problems with running Network Socket Examples |
Date: |
Fri, 29 Dec 2023 08:49:37 +0100 |
Hello,
Am 10.12.23 um 13:44 schrieb tomas@tuxteam.de:
> On Sun, Nov 26, 2023 at 09:59:58PM +0100, Erik Grun wrote:
>> Hello, Guile-Devel,
>>
>> I just can't get the Network Socket Examples[1] to work. I am using
Guile
>> 3.0.7.
>>
>> An obvious mistake seems to be, that the docs use different ports
for client
>> (80) and server (2904), but even if I use the same port (2904), I
only get
>> this error message:
>>
>> Backtrace:
>> In ice-9/boot-9.scm:
>> 1752:10 6 (with-exception-handler _ _ #:unwind? _ # _)
>> In unknown file:
>> 5 (apply-smob/0 #<thunk 7f5e06560f60>)
>> In ice-9/boot-9.scm:
>> 724:2 4 (call-with-prompt _ _ #<procedure
default-prompt-handle…>)
>> In ice-9/eval.scm:
>> 619:8 3 (_ #(#(#<directory (guile-user) 7f5e06559c80>)))
>> In ice-9/boot-9.scm:
>> 2835:4 2 (save-module-excursion _)
>> 4380:12 1 (_)
>> In /home/egnun/client.scm:
>> 7:14 0 (_)
>>
>> /home/egnun/client.scm:7:14: Unbound variable: read-line
>>
>> After some research I found out, that I need to include this line.
>> (use-modules (ice-9 rdelim))
>
> Yes, I'd consider both of the above as downright doc bugs: the missing
> of (ice-9 rdelim) in the client code and letting the client aim at a
> different port the server is set up to listen to.
Agreed.
> As for the third...
>
>> When I do that, it seems to kinda work?
>>
>> Hello client
>> Backtrace:
>
> [...]
>
>> ERROR: In procedure %read-line:
>> In procedure fport_read: Connection was reset by peer
>
> ... it is working "as it is supposed to": the server closes the
> connection after sending the reply -- the client isn't set up
> to expect this and complains (note that it dutifully prints the
> server's answer "Hello client" before).
It is working, but not really.
Because the client is also supposed to print this line:
> (display "GET / HTTP/1.0\r\n\r\n" s) ; with s being some socket.
Also removing the "(close client)" from the server script, seems to
resolve the "Connection reset by peer" error (until I Ctrl-C the server).
> So this one is confusing, but we'd need a bit more of discussion
> on how to "fix" it without complicating the examples too much.
Definitely.
The errors are also in the current Guile docs. Just if anyone was wondering…
https://www.gnu.org/software/guile/manual/html_node/Internet-Socket-Examples.html
Best regards,
Erik
--
pub rsa4096/C02662E2370D6F27 2016-05-27 [SCA] [verfällt: 2024-05-01]
Schl.-Fingerabdruck = 7E0E 8A9E EAEE 075D E689 F32F C026 62E2 370D 6F27
uid [ ultimativ ] Erik Grun <egnun@posteo.de>
uid [ ultimativ ] Erik Grun <egnun@fsfe.org>
sub rsa4096/1DF94895FA78155E 2016-05-27 [E] [verfällt: 2024-05-01]
You are wondering, what this signature means?
Visit *emailselfdefense.fsf.org/en/infographic.html*
to find out how YOU can securely encrypt your e-mails.
OpenPGP_0xC02662E2370D6F27.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature