web ohjelmointia

Anonyymi-ap

Tein web ohjelmointia fpc:llä ja fpSocketeilla(Socket unit) mm. udp server/client tuli testattua ensin tuolla ja sitten törmäsin Synapse:en, jolla pystyi tekemään saman(synsock unit), mutta myös useita protokollia oli suoraan tuettuna kuten http/https, ftp.
Synapse:ssa on aika elegantti wrapperi toteutettu c-sockettikirjaston ympärille, jos kiinnostaa miten c:llä toteutettuja kirjastoja voi käyttää fpc/lazarus ympäristössä, niin kannattaa tutustua miten wrapperi on toteutettu tuossa.
Molemmat kirjastot toimii, mutta vaatii aika tarkkaa tietoa sockettien toiminnasta ja mm. recvfrom-funktio oli todellinen kiusankappale saada toimimaan - ennen kuin speksistä tuli luettua, että sen palauttama client:n osoite on pointterin päässä ja kyseisen kentän pituuden maksimi on asetettava jotenkin järkevästi:
uses Sockets;
var
pClientAddr: ^SockAddr;
pClientLen: ^uint32;
begin
...
new(pClientAddr);
new(pClientLen);
...
datan vastaanotto serverille:
pClientLen^ := 30;
buf_size := fpRecvFrom(Soc,@buf[0],cMaxBufSize,0, psockaddr(pClientAddr),pClientLen);
ja datan palautus client:lle vastaavasti:
fpSendTo(Soc,@buf[0],buf_size,0,pClientAddr,pClientLen);

Jotenkin tuntuu, että aihe on hieman vaikea jos ei tunne socket:eja jo ennalta ja voi kannattaa mennä helpomman kautta ja käyttää vähintään Synapse:n tarjoamaa blocksock-unittia. Esim. http-tiedoston vastaanotto oli todella helppo toteuttaa.
Niin se kysymys, eli onkohan noita kirjastoja netin käpistelyyn vielä muitakin yleisessä käytössä vai näilläkö pitää pärjätä?

26

374

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Socket-ohjelmointiin löytyy aloittelijan ohje - tosin c-kielellä - mutta sitä on kohtuullisen helppoa soveltaa koska fpc:ssä taustalla oleva API on kuitenkin sama:
      https://beej.us/guide/bgnet/
      Protokollakohtaisia kirjastoja on paljonkin tarjolla, mutta socketeille taitaa olla vain nämä kaksi.

      • Anonyymi

        Miksi vanhat papat leikkii windows10llä
        Mistä siinä on kysymys, kun papparainen Ieikkii päivästä toiseen windows 10:llä? Valehdelllen että se toimisi.


      • Anonyymi

        Persereikäpeter se menee edelleen viimevuosituhannen opein perse edellä puuhun!


    • Anonyymi

      VAROITUS:

      recvfrom() -on ERITTÄIN ongelmallinen funktio !

      Eikä syy ole Synapsessa / Delphissä / FreePascalissa, vaan Windowsissa !
      (Ei ole tiedossani, onko Linuxissa sama ongelma vai eikö ole, sen joudut selvittämään itse).

      En enää muista kaikkia yksityiskohtia, mutta JOKO tuo RecvFrom hukkaa paketteja (nyt EI OLE kyse paketin hukkumisesta internetissä, mikä sekin on toki mahdollista) tai sitten paketin lähettäjätieto vääristyy !

      Eli, jos samalla socketilla teet useita RecFrom() -kutsuja, niin edellinen RecFrom() -kutsu voi vaikuttaa seuraavaan vääristämällä tiedon siitä, mistä IP -osoitteesta ko. paketti tuli !

      Ilmeisesti Microsoftin mielestä vain TCP:llä on merkitystä ja UDP:n osalta "toimii jos toimii, eikä sillä ole väliä".

      En muista, löytyikö tuohon mitään todellista ratkaisua.

      Synapsesta:

      Toimii http -protokollan osalta erinomaisen hyvin.

      Valitettavasti https -protokollan osalta ei voi sanoa samaa.
      Joihinkin palvelimiin toimii hyvin, toisiin ei ollenkaan.

      Nuo SSL / TLS -toteutukset ilmeisesti ovat varsinaista versiosotkua, eli yksi toteutus ei välttämättä oikein toimi yhteen toisen kanssa.

      OpenSSL on varmaankin käytetyin, mutta sen rakenne on lähinnä sekopäinen.
      Sitten on Peter Gutmannin tekemä Cryptlib. Toimii oikein hyvin, mutta muissa kuin GPL -lisensioiduissa ohjelmissa sen käyttö on maksullista.

      OpenSSL:ssä myös tietoturvahistoria on kehno. Muistaako kukaan enää vuoden 2014 isoa juttua: HeartBleed.

      Tuo yksittäinen vika on ehkä korjattu, mutta kuinka monta muuta tietoturvareikää piilee OpenSSL:n sisuksissa ?

      C-kielellä tehdystä koodista yleisin kääntöjärjestelmä on autoconf/automake, mutta kun edes se ei kelvannut OpenSSL:n tekijöille.

      MIKSI pitää OpenSSL:n kääntämisestä tehdä niin tuhottoman vaikeaa ?

      • Anonyymi

        Windows todella surkea?
        Luin jostain uutisesta että Windows on todella paska tai huono järjestelmä....


      • Anonyymi
        Anonyymi kirjoitti:

        Windows todella surkea?
        Luin jostain uutisesta että Windows on todella paska tai huono järjestelmä....

        Windows on ihan hyvä omiin juttuihinsa, kuten normi desktop-sovelluksiin. Kehitän omia sovelluskirjastoja jotka toimii sekä Linuxissa että Windowsissa. Linuxille on helpompi kehittää ja siellä koodi toimii nopeammin, linux on kuin sovelluskehittäjän työkalupakki, mutta jos taas on aikeissa julkaista vaikka joku pieni maksullinen desktop-sovellus hyötyojelmana, Microsoftin ekosysteemi toimii paremmin ja tarjoaa siihen oman storen ym. Linuxissa taas oletuksena (tai käyttäjät olettaa) että kaikki on ilmaiseksi asennettavissa reposta.

        Itse asensin Windowsin uusiksi, koska WSL2 voi ajaa/kehittää Linuxille ja muutosten tuonti käy näppärästi Windowsin puolelle gitin kautta ja päin vastoin.


      • Anonyymi

        "MIKSI pitää OpenSSL:n kääntämisestä tehdä niin tuhottoman vaikeaa ?"

        Ihan helpostihan se kääntyy.

        "Eikä syy ole Synapsessa / Delphissä / FreePascalissa, vaan Windowsissa !"

        Niin vikahan on siinä kun yrität Windowsissa tehdä asioita missä se on huono.


      • Anonyymi
        Anonyymi kirjoitti:

        Windows on ihan hyvä omiin juttuihinsa, kuten normi desktop-sovelluksiin. Kehitän omia sovelluskirjastoja jotka toimii sekä Linuxissa että Windowsissa. Linuxille on helpompi kehittää ja siellä koodi toimii nopeammin, linux on kuin sovelluskehittäjän työkalupakki, mutta jos taas on aikeissa julkaista vaikka joku pieni maksullinen desktop-sovellus hyötyojelmana, Microsoftin ekosysteemi toimii paremmin ja tarjoaa siihen oman storen ym. Linuxissa taas oletuksena (tai käyttäjät olettaa) että kaikki on ilmaiseksi asennettavissa reposta.

        Itse asensin Windowsin uusiksi, koska WSL2 voi ajaa/kehittää Linuxille ja muutosten tuonti käy näppärästi Windowsin puolelle gitin kautta ja päin vastoin.

        "mutta jos taas on aikeissa julkaista vaikka joku pieni maksullinen desktop-sovellus hyötyojelmana, Microsoftin ekosysteemi toimii paremmin ja tarjoaa siihen oman storen ym. "

        Kaikki storet ottavat niin ison provision, että näiden maksuvirityksillä ei tee mitään. Sovellus voi ihan hyvin olla ladattavissa mistä tahansa jos jotain ladataan mutta maksujärjestelyt kannattaa pitää irti storesta.

        Mutta jos haluaa julkaista työkalusovelluksen niin että maksaa hurjat provisiot niin tekee softan niin, että on siirrettävissä AppStore, Google Play, Ubuntu store ja Windows store välillä. Näissä kun oli mielestäni tuki maksujärjestelmille. Samsungillakin vissiin vielä joku.

        Tällaisten sovellusten tekoon löytyy työkaluiksi esimerkiksi Electron ja Tauri.

        Sovelluskehittäjän kannalta näistä ei toimi mikään yhtään paremmin kuin muut.


    • Anonyymi

      Hyvä tietää tuosta windows-puolesta. Nyt olen testannut sekä tcp:llä että udp:llä noita socketteja ja synapsen avulla saanut lokaali-koneelta jopa apache web-serveriin https-yhteyden onnistumaan. En kääntänyt mitään vaan asensin vaaditut kirjastot pakettivarastosta wiki/nettiesimerkin mukaisesti.
      Sanoisin, että udp:n rajapinta on "hiukan" outo joissakin tilanteissa ja esim. sattumalta huomasin, että vaikka udp on yhteydetön, siinä voi olla järkeä kutsua connect:ia client-koodissa, jolloin saa sockettiin täytettyä lisää tietoa.. vai teenkö jotain väärin? Server-koodissa tuo ei toiminut..
      Joka tapauksessa kokeilin timerin avulla lähettää 1000 pakettia/s ja ainakaan tuolla nopeudella paketteja ei kadonnut vielä. Paketeilla oli joka kerta eri porttinumerot ja niihin pystyi vastaamaan. Wifi:n yli toki muutamia hukkui matkalla.

      • Anonyymi

        Windowsit tuhoaa suomen kilpailukyvyn koska kukaan ei halua sitä käyttää ja jos töissä pakotetaan - se on sitten suoraan poissa työmotivaatiosta eikä valmista tule.


      • Anonyymi

        Älä paskaa puhu!


      • Anonyymi
        Anonyymi kirjoitti:

        Windowsit tuhoaa suomen kilpailukyvyn koska kukaan ei halua sitä käyttää ja jos töissä pakotetaan - se on sitten suoraan poissa työmotivaatiosta eikä valmista tule.

        "Windowsit tuhoaa suomen kilpailukyvyn koska kukaan ei halua sitä käyttää ja jos töissä pakotetaan - se on sitten suoraan poissa työmotivaatiosta eikä valmista tule."

        Naurettava väite!

        Enemmän kuin mielelläni koodaisin Delphillä Windows -sovelluksia.

        Mutta tämähän ei suomalaisille tympeille IT -johtajille sovi, heidän mielestään pitäisi kai koodata C:llä, C++:lla tai Javalla.

        Näin siitä huolimatta, että lopputuloksen laatu Delphillä on erinomainen, ja laatu on ylivoimainen verrattuna kieliin C, C++ ja Java.

        Eli jos jossain firmassa halutaan Windowsille koodausta, niin Delphillä olisi kiva päästä sellaisia tekemään.

        Ja jos on tarpeen, Delphin uusimmilla versioilla syntyy appeja myös Androidille ja iOS:lle.

        Maksullisissa versioissa jopa Linux on tuettu ohjelmien ajoympäristönä . mutta itse Delphi IDE toimii vain Windowsissa.


      • Anonyymi
        Anonyymi kirjoitti:

        "Windowsit tuhoaa suomen kilpailukyvyn koska kukaan ei halua sitä käyttää ja jos töissä pakotetaan - se on sitten suoraan poissa työmotivaatiosta eikä valmista tule."

        Naurettava väite!

        Enemmän kuin mielelläni koodaisin Delphillä Windows -sovelluksia.

        Mutta tämähän ei suomalaisille tympeille IT -johtajille sovi, heidän mielestään pitäisi kai koodata C:llä, C :lla tai Javalla.

        Näin siitä huolimatta, että lopputuloksen laatu Delphillä on erinomainen, ja laatu on ylivoimainen verrattuna kieliin C, C ja Java.

        Eli jos jossain firmassa halutaan Windowsille koodausta, niin Delphillä olisi kiva päästä sellaisia tekemään.

        Ja jos on tarpeen, Delphin uusimmilla versioilla syntyy appeja myös Androidille ja iOS:lle.

        Maksullisissa versioissa jopa Linux on tuettu ohjelmien ajoympäristönä . mutta itse Delphi IDE toimii vain Windowsissa.

        "Näin siitä huolimatta, että lopputuloksen laatu Delphillä on erinomainen, ja laatu on ylivoimainen verrattuna kieliin C, C++ ja Java."

        Ei ole.

        Vieläkään ei ole näkynyt Delphillä tehtyjä ohjelmia jotka toimisivat ilman asentamista.

        "Maksullisissa versioissa jopa Linux on tuettu ohjelmien ajoympäristönä . mutta itse Delphi IDE toimii vain Windowsissa."

        Eli kehittäminen on hankalaa kun ei toimi natiivisti siellä missä koodikin on. Muista että Linux on defacto konesaleissa.


      • Anonyymi

        "Joka tapauksessa kokeilin timerin avulla lähettää 1000 pakettia/s ja ainakaan tuolla nopeudella paketteja ei kadonnut vielä."

        EI siinä katoamisessa ole kyse määristä.
        Netissä toki voi sattumalta kadota, mutta nyt ei ole kyse siitä.

        Vaan tästä:

        Jos samalla UDP -socketilla (jota EI connectoida), vaan käytetään recvfrom ja sendto -funktiokutsuja:

        Jos samalla UDP -soketilla kommunikoit USEIDEN eri tietokoneiden kanssa, niin windowsissa homma toimii ensimmäisen paketin osalta aivan oikein.

        Mutta kun sitten toinen paketti tuleekin eri koneelta omallesi kuin se ensimmäinen, ja vastaat siihen, niin vaikka oma koodisi on oikein tehty, niin tuon 2. paketin lähettäjä ei ikinä saa vastauspakettia - koska se vastauspaketti 2. pakettiin menee virheellisesti sille koneelle, joka lähetti koneellesi sen 1. paketin !

        Eli Windows -käyttöjärjestelmä ei aina kunnioita sendto -funktiossa parametrina annettua paikkaa, mihin se UDP -paketti on tarkoitus toimittaa, vaan saattaa toimittaa sen samaan paikkaan, mihin edellinen tai ensimmäinen tuosta UDP -soketista lähettety paketti toimitettiin!

        Kyse oli siis Windowsin Bugista TCP/IP -pinon UDP:ta käsittelevässä osassa.

        Toki netissäkin voi satunnaisesti paketteja kadota, mutta se taas on asia, joka ei tähän liity mitenkään, vaan tuo satunnaisesti katoilu on syy siihen, miksi UDP:tä sanotaan epäluotettavaksi protokollaksi.

        Jos kokeilet sillä timerilla laittaa paketteja useaan eri koneeseen, ja ehkä vielä niin, että ainakin osa paketeista on vastauksia toisen koneen paketteihin, niin huomaat, että windows toimittaa paketteja vääriin kohdeosoitteisiin.

        Ehkä Linuxissa toimii paremmin.


      • Anonyymi
        Anonyymi kirjoitti:

        "Näin siitä huolimatta, että lopputuloksen laatu Delphillä on erinomainen, ja laatu on ylivoimainen verrattuna kieliin C, C ja Java."

        Ei ole.

        Vieläkään ei ole näkynyt Delphillä tehtyjä ohjelmia jotka toimisivat ilman asentamista.

        "Maksullisissa versioissa jopa Linux on tuettu ohjelmien ajoympäristönä . mutta itse Delphi IDE toimii vain Windowsissa."

        Eli kehittäminen on hankalaa kun ei toimi natiivisti siellä missä koodikin on. Muista että Linux on defacto konesaleissa.

        "Vieläkään ei ole näkynyt Delphillä tehtyjä ohjelmia jotka toimisivat ilman asentamista."

        JOKAINEN ohjelma asennetaan jollain tavalla, jotta se toimisi.

        Delphi -ohjelmalle monesti asennukseksi riittää:

        Kopioi ohjelma.exe haluamaasi kansioon ja käynnistä.

        Jos pidät ohjelmasta, saatat haluta tehdä sille pikakuvakkeen ja/tai valikkokohdan, jotta ohjelma löytyy helposti jatkossakin.

        Delphi -ohjelmissa on maailman helpoin asennus.

        Lisäksi ohjelma voidaan tehdä sellaiseksi, että se itse lataa päivityksiä netistä ja osaa päivittää itsensä.

        Turvallisuuden takia päivitysmekanismi kannattaa rakentaa niin, että päivityspaketit pystytään kryptotekniikalla tarkistamaan, että ne ovat oikealta tekijältä ja ettei niitä ole muokattu matkan varrella.

        M-Kar jaksaa aina valehdella:

        Todellisuudessa Delphi -ohjelma usein hakkaa laadussa ja nopeudessa esim. Java -ohjelmat.

        Tulee mieleen Arduino IDE -tehty Javalla - ja käynnistyy Delphi -ohjelmiin tottuneen näkökulmasta aivan jätkyttävän hitaasti.

        Jos se olisi tehty Delphillä, se käynnistyisi heti eikä odottelun jälkeen.

        Jos katsoo ihan Microsoftin omalla "Tehtävienhallinta" (Task Manager) sovellusten muistinkulutuksia, niin Delphi -ohjelmat ovat yleensä kaikkein vähiten muistia kuluttavia ohjelmia.

        Ja siitä vähästäkin voi joissain tapauksissa siivota pois, jos sille on tarvetta.

        Varsinkin Web -selaimien takia RAM -muistista on jatkuvasti huutava pula - vaikka koneessani on 16 Gigatavua RAM -muistia.

        Kyllä ohjelmien muistinkulutuksella on tänäkin päivänä merkitystä.

        Mielestäni satoja megatavuja tai gigatavuja RAMmia kuluttava ohjelma on huono ohjelma - vaihtaisin heti parempaan - jos sellaisia olisi saatavilla - mutta Web -selainten osalta ei oikein ole - muistisyöppöjä kaikki !


    • Anonyymi

      Mitähän ongelmaa tässä yritetään ratkaista?

    • Anonyymi

      AI -juttuja kun alat laskemaan, niin selvästi hidastuu kyllä joo laskenta teho jos lasketaan jhotain asioita ja analysoidaan niitä 69 potebnsaiin 53 vaikka..

    • Anonyymi

      Kaiken näköisiä viheltäjiä sitä onkin olemassa, huh hu

    • Anonyymi

      Linux:issa tuo synapse socket-toteutus nojaa vahvasti libc-kirjastoon ja on siitä wrapper-versio joten toimintakin lienee identtistä. Ratkaistava ongelma oli nimenomaan saada socketit toimimaan fpc:ssä ja synapsen avulla ratkaisu on yhtä "virhe" herkkä kuin c-toteutuskin(joka on ennestään tuttu) joten sen kanssa osaa elää.
      Tuo udp-pakettien lähetys kannattaa tosiaan toteuttaa clientissa synkronisesti ettei tule yhtäaikaisten pakettien törmäyksiä eli socketin info-kentät mene sekaisin vaikka eri säikeissä. Vaihtoehtoisesti teen niin, että vastaanotettu socketti, jos serveri-portti oli alunperin vaikka 10000, se vaihtuu joksikin muuksi ja serveriportin voi avata uudelle soketille odottelemaan yhteyksiä. client-pään portti pysyy samana ja vaihtuu vasta jos serveri lähettää. Näin ollen pitää olla vapaita portteja tarjolla socketeille ja yhteydet ei tällöin törmäile keskenään. Itse asiassa, noita soketteja taisi pystyä luomaan useita odottavaan tilaan samalla porttinumerolla jotenkin - en vaan ole varma onnistuuko udp:n kanssa.

      • Anonyymi

        Ottasit nyt helvetti ne lääkkeesi jotta loppuisi tuo loputun sekoilusi.


    • Anonyymi

      On satoja helpompia tapoja siirtää sivu ftp servuun, kuin mitä sähläät on turvallisiisriski!

      • Anonyymi

        Saimaanapinahan vaan sotkee asiat!


    • Anonyymi

      Minä ajattelin että tekisin tuollaisen että joka lähettää sääkuvia tai valvontakuvia itselle sähköpostina sitten, 1 ongelma vain kun uusissa tietokoneissa ei saa olla BIOSissa ominaisuutta että voi määrätä ohjelmallisesti itse jotain aikoja milloin kun tietokone on sammutettu aivan virtakytkimestä.

      On sellainen eräs joku vanha I5-prosessorinen kone missä on vielä tuo optio, siis c- ja assembly -koodinen ohjelma voi määrätä milloin tietokone määrittää itse ajat milloin käynnistyy ja sulkeutuu, siis ei sleep-modeissa vaan aivan kun on virta pois siis RTC, Real Time Clock -ohjelmointia :D

      • Anonyymi

        " kun uusissa tietokoneissa ei saa olla BIOSissa ominaisuutta että voi määrätä ohjelmallisesti itse jotain aikoja milloin kun tietokone on sammutettu aivan virtakytkimestä"

        Mikäs juttu tuo nyt oli olevinaan ????

        Jos virta sammutetaan ohjelmallisesti, niin jos tätä ennen on asetettu "RTC ON @ 2023-12-31T22:50:00", niin sitten kone todellakin käynnistyy automaattisesti asetettuna aikana.

        Jos taas katkaiset virran virthalähteen mekaanisella "0/1" -kytkimellä, niin ei tietenkään käynnisty automaattisesti koskaan (koska tuo mekaaninen kytkin vastaa sitä, että irrottaisit PC:N pistokkeen pistorasiasta).

        Yritätkö nyt väittää, että jokin määräys (MIKÄ ?) kieltäisi tietokoneen valmistajaa laittamasta koneeseen vanhaa tuttua "RTC ON" -ominaisuutta ?

        Entäpä muut "AUTO ON" -toiminnallisuudet ?

        Teoriassa olisi "Wake-On-Lan" , mutta olen kokeillut, eikä toiminut (vaatiiko tuo jonkin ylimääräisen kaapelin verkkokortin ja emolevyn välille, tai ns. jumpperin, jos verkkokortti on emolevylle integroitua mallia, kuten moderneissa koneissa hyvin usein on ?

        Sitten on Wake-On-Ring: Jos tuo on tehty oikeasti toimivaksi, niin silloin sarjaportin (COM1) RI (=RingIndicator) tuotu esim. +9V jännite (verrattuna saman portin GND -nastaan) pitäisi aiheuttaa PC:n käynnistyminen, jos tuo Wake-On-Ring -toiminto on ensin BIOS -asetuksista kytketty päälle.

        Periaatteessa muuten: Jos käytät 5V jännitteellä erillistä mikrokontrolleria, niin mikrokontrollerin I/O -nastasta vain johto tuohon sarjaportin RI -nastaan: Kun mikrokontrolleri asettaa ko. I/O -nastan tilaan "Looginen 1", niin PC:n pitäisi käynnistyä. Sensijaan 3,3V käyttöjännitteellä on riski, että I/O-nastan jännite jää liian alas, eikä luotettavasti käynnistä PC:tä. Pienellä transistorikytkennällä toki tämänkin voi korjata.


    • Anonyymi

      Siihen aikaan, kun http oli vielä yleinen (nykyisin on harvinainen, kun joka paikassa on https), niin Synapse oli paras vaihtoehto TCP/IP:n ja UDP:n hallintaan Delphillä ja FreePascalilla.

      Jos vielä tarvitset johonkin salaamattomia yhteyksiä, niin niihin toki Synapse toimii tänäkin päivänä.

      Paitsi että:

      Synapsesta puuttuu Connected -property.

      Se on toki jossain määrin feikki, mutta ideana tämä:

      Kun asiakassovellus kutsuu connect() ja se onnistuu, niin:

      FConnected := True;

      Vasta, kun saadaan varma tieto, että yhteys on menetetty, niin:

      FConnected := False;

      JOS tarvitset https -yhteyksiä, niin on vain 1 vaihtoehto, mitä voi oikeasti suositella:

      ICS (by Francois Piette). Hakukoneella: ICS overbyte eu

      https:n osalta KAIKKI muut ovat huonoja: saattavat toimia yhden tietyn https -palvelimen kanssa, mutta sitten toisen https -palvelimen kanssa yhteys ei koskaan muodostu, ja syy tähän jää epäselväksi.

      Siis asiakas ja palvelin molemmat omasta mielestään noudattavat https -standardia, mutta eivät todellisuudessa ole yhteensopivia keskenään.

      ICS:n kanssa näin ei ole vielä käynyt kertaakaan.
      Sensijaan Sekä Synapse että Indy kärsivät tuosta ongelmasta:

      Yhden palvelimen kanssa toimivat, ja toisen kanssa eivät.

      Synopsea taas (kyllä, vain 1 kirjaimen ero Synapseen verrattuna) en voi suositella lainkaan sen tällaisen anti-patternin takia:

      with TSomeClass.Create do begin
      try
      // use Object here:

      finally
      Free;
      end;

      end;

      Debuggaajan painajainen! Mitenkään et pääse käsiksi luotuun objektiin !

      Tuosta syystä: älä käytä (kerjäät ongelmia jos käytät)!

      Vielä:

      Monelle luokkakirjastolle HTTP POST -verbi https -yhteyden kanssa käytettynä on toimimaton yhdistelmä. Muistaakseni ICS selviää kunnialla tuostakin.

      Ja koska on avointa lähdekoodia, sitä voi muokata, jos jokin asia ei miellytä.

      ICS:n ainoa ehkä miinuspuoli on se, että se käyttää ns. non-blocking socketteja, kun molemat kilpailijat (Indy ja Synapse) käyttävät ns. blokkaavia soketteja.

      Mutta kun vastapainoksi saa luotettavasti toimivan https -toteutuksen, joka ei nikottele sen mukaan, mikä palvelin ja ohjelmistoversio on palvelimen päässä, niin ehkä tämän sietää.

      Eli: salaamattomiin yhteyksiin: Synapse, mutta https:ää tarvittaessa: Synapse.

      Ohjetta ei toki ole pakko noudattaa, mutta kerjäät ongelmia, jos et noudata. Valinta on toki lopulta omasi.

      • Anonyymi

        10 miljardia salasanaa jaossa - kaikkien aikojen suurin salasanavuoto
        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


    Ketjusta on poistettu 2 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tapio Suominen on kuollut

      Urheilutoimittaja Tapio Suominen on kuollut. Suominen oli kuollessaan 60-vuotias. Selostajalegendan kuolemasta kertoo Y
      Maailman menoa
      236
      16771
    2. Tapio Suominen oli sairauden uhri

      Urheiluselostaja Tapio Suominen kuoli eilen keskiviikkona aamulla tapaturmaisesti Hattulassa. Toisen uutisen mukaan van
      29
      2168
    3. Tapio suominen

      Liian aikaisin lähdit sinua oli kiva kuunnella.
      Ikävä
      110
      1950
    4. Mitä toivot

      Tämän hetkiseen tilanteeseen?
      Ikävä
      191
      1730
    5. Sydämeni on

      varattu sinulle. Et ole minun, en ole sinun. Me on mahdottomuus. Mutta olet se joka on mielessäni ensimmäisenä kun herää
      Ikävä
      122
      1461
    6. Minä itkin kotona kun tajusin että

      Pelkuruuteni takia kun en lähestynyt vaikka järjestit otollisen hetken ja myöhemmin huomasin lasittuneen katseesi miten
      Ikävä
      10
      1102
    7. Rannalle! Uimaan!! Rinnat paljaiksi!!!

      Järki kadonnut sekä niiltä feministeiltä, jotka vaativat saada esiintyä rinnat paljaina julkisilla uimarannoilla, kuten
      Maailman menoa
      216
      972
    8. Elämääni tulee pian uusi uros

      Se on sinisilmäinen, blondi. 😍 Toivottavasti tämä ok?
      Ikävä
      119
      857
    9. Ylen jälkiviisaat estotonta Kamala Harris suitsutusta

      Kolme samanmielistä naikkosta hehkutti Kamala Harrisia ja haukkui Trumpia estottomasti. Nyt oli tarkoituksella valittu
      Maailman menoa
      214
      750
    10. Kok-edustaja: Yle aivopesee työntekijöitä

      "– Yle ei vain sensuroi Kyllä isä osaa-sarjaa, vaan haluaa jaksojen määrää manipuloimalla HÄVITTÄÄ ”ongelman” todellisuu
      Maailman menoa
      61
      748
    Aihe