Not sure I understand this line in specification:

Clients SHOULD NOT close a connection by default, but MAY in case the content exceeds constraints set by the user.

=> https://geminiprotocol.net/docs/protocol-specification.gmi#closing-connections

Why should I keep connection open (on client-side), even the page has been loaded? Maybe just to prevent double handshake only?

Asking, because have some head pain with Rust implementation, where connection get dopped by last reference left the scope. So here simpler to open connection again, than hold and manage connection reference somewhere, e.g. in memory stack.

Just do I understand specification right to begin endless connection implementation?

Thanks

=> Posted in: s/Gemini | ๐Ÿ‘ป ps

2024-11-24 ยท 8 weeks ago

4 Comments โ†“

=> ๐Ÿ‘ป ps [OP] ยท Nov 24 at 14:53:

So that's okay my connection get closed after last byte received. Now it looks correct. Maybe will return to this subject later, on media streaming implementation.

@HanzBrix hanks much for explain!

=> ๐Ÿš€ stack ยท Nov 24 at 15:15:

How do you know what is the last byte?

=> ๐Ÿ‘ป ps [OP] ยท Nov 24 at 15:22:

@HanzBrix ah, exactly! it's just memory kidding me, wrote some gemini servers before, where closed connection after last byte sent. still thinking as server :)

=> ๐Ÿ’€ requiem ยท Nov 25 at 19:56:

Keeping it open is also what enables TCP streaming over Gemini, there was some experimental chat software for it :)

Proxy Information
Original URL
gemini://bbs.geminispace.org/s/Gemini/22142
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
76.30224 milliseconds
Gemini-to-HTML Time
0.478275 milliseconds

This content has been proxied by September (ba2dc).