Saaste on Nostr: Minulla on muutama oma sovellus, jotka käyttävät WebSocketeja reaaliaikaiseen ...
Minulla on muutama oma sovellus, jotka käyttävät WebSocketeja reaaliaikaiseen viestien välittämiseen. Käytän niissä valmista WebSocket-kirjastoa, mutta en ole koskaan tykännyt siitä. Se tuntuu tarpeettoman monimutkaiselta.
Niinpä päätin kirjoittaa oman.
Aika harvoin tulee koodailtua tällaista matalan tason verkkohärväystä, missä pitää lukea yksittäisiä bittejä ja askarrella niistä jonkinlainen viesti kasaan. Yllättävän kiinnostavaa ja siinä RFC-standardia lueskellessa tuli samalla opittua kuinka WebSocket toimii pellin alla.
Nämä asiat ottaa aina jonkinlaisena päivänselvyytenä eikä niitä ajattele sen enempää ☺️
#ohjelmointi
Published at
2026-07-27 03:26:52 UTCEvent JSON
{
"id": "90f9d4597906ef0cbcea113bd4a2df5fd4aa9e9bfe16a3e86a845562a6a0c136",
"pubkey": "203cb993e2c994058de7d0d892be22ca1588e52a4bc37ba52a9f1d94ebd30771",
"created_at": 1785122812,
"kind": 1,
"tags": [
[
"proxy",
"https://mementomori.social/@saaste/116989808644921000",
"web"
],
[
"t",
"ohjelmointi"
],
[
"proxy",
"https://mementomori.social/users/saaste/statuses/116989808644921000",
"activitypub"
],
[
"L",
"pink.momostr"
],
[
"l",
"pink.momostr.activitypub:https://mementomori.social/users/saaste/statuses/116989808644921000",
"pink.momostr"
],
[
"-"
]
],
"content": "Minulla on muutama oma sovellus, jotka käyttävät WebSocketeja reaaliaikaiseen viestien välittämiseen. Käytän niissä valmista WebSocket-kirjastoa, mutta en ole koskaan tykännyt siitä. Se tuntuu tarpeettoman monimutkaiselta.\n\nNiinpä päätin kirjoittaa oman.\n\nAika harvoin tulee koodailtua tällaista matalan tason verkkohärväystä, missä pitää lukea yksittäisiä bittejä ja askarrella niistä jonkinlainen viesti kasaan. Yllättävän kiinnostavaa ja siinä RFC-standardia lueskellessa tuli samalla opittua kuinka WebSocket toimii pellin alla.\n\nNämä asiat ottaa aina jonkinlaisena päivänselvyytenä eikä niitä ajattele sen enempää ☺️ \n\n#ohjelmointi",
"sig": "602d6f9ec9e30295d285dbc65a2d3bac9b2dd069630dfd46d37bdb3b4b9588f7aab88017f36867fd79e18c10bfd1775764b3886f693ba29f9a607ce8aa85f2c0"
}