Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: IP-pakettien lähettäminen

Jalmari91 [27.05.2009 18:20:11]

#

Elikkä voiko C++:lla lähettää noita IP-paketteja "manuaalisesti", eikä vain käyttäen jotain socketteja. http://fi.wikipedia.org/wiki/Paketti_(IP)

Metabolix [27.05.2009 19:20:19]

#

Nyt ei ole kyse siitä, mitä jollain kielellä voi tehdä, vaan siitä, mitä käyttöjärjestelmä mahdollistaa. Jos Windowsista puhut, anna WSASocket-funktiolle tyypiksi SOCK_RAW ja aseta päälle lippu IP_HDRINCL.

Jalmari91 [27.05.2009 22:10:39]

#

Kiitoksia!

Metabolix kirjoitti:

Nyt ei ole kyse siitä, mitä jollain kielellä voi tehdä, vaan siitä, mitä käyttöjärjestelmä mahdollistaa.

offtopic: No kyllähän minä sen ymmärrän. Käytin ilmaisua voiko C++:lla lähettää, sen takia ettei minun tarvitse erikseen kysyä, että voiko millään käyttöjärjestelmällä tehdä sitä ja sitten, että miten se C++:lla tehdään. Nyt pystyin sisällyttämään kaksi kysymystä yhteen lauseeseen, koska jos sen pystyy tekemään C++:lla niin käyttöjärjestelmä ei sitä tietenkään silloin estä.

os [28.05.2009 02:14:18]

#

Yksinkertaisin vastaus on siis ei. C++-kieleen ei sisälly mitään Internet-tavaraa, joten sillä ei voi lähetää IP-paketteja.

Tästä saivartelusta päästään myös kysymyksesi varsinaiseen ongelmaan eli siihen, ettei ole olemassa mitään yksiselitteistä tapaa lähettää IP-paketteja "C++:lla", vaan mahdollisuudet riippuvat täysin ympäristöstä, tässä tapauksessa olennaisesti käyttöjärjestelmän (C/C++-) API:sta. Hakusanoilla "raw ip" + <käyttöjärjestelmä> löytänet Googlesta ohjeet sen käyttöön.

Periaatteessa kannatta myös katsoa, löytyisikö tähän jotakin porttautuvia tai hommaa helpottavia kirjastoja, kuten esim. TCP-socketeille. Raw-IP-pakettien tapauksessa tosin näyttää vähän hiljaisemmalta.

Jalmari91 [28.05.2009 11:48:21]

#

os kirjoitti:

Periaatteessa kannatta myös katsoa, löytyisikö tähän jotakin porttautuvia tai hommaa helpottavia kirjastoja, kuten esim. TCP-socketeille.

Tässä ei ole se ideana, että kaikki tehtäisiin niin helpoksi, vaan haluan nähdä ihan käytännössä, miten asiat hoidetaan. Eli nyt ei ole kysymys siitä, että tekisin jotain järkevää.

offtopic: Tai no ehkä tässä on se järki, että jos teen omaan käyttöjärjestelmään internet tuen, niin jos olen tutustunut noihin IP-paketteihin, niin sen toteuttaminen on helpompaa. Mutta se on aika loppupäässä tuota käyttöjärjestelmä projektia.

eq [28.05.2009 15:07:21]

#

Jalmari91 kirjoitti:

offtopic: Tai no ehkä tässä on se järki, että jos teen omaan käyttöjärjestelmään internet tuen, niin jos olen tutustunut noihin IP-paketteihin, niin sen toteuttaminen on helpompaa. Mutta se on aika loppupäässä tuota käyttöjärjestelmä projektia.

Käyttöjärjestelmän on loppupeleissä keskusteltava tietokoneen itsensä kanssa, eli käytännössä se, mitä haluat, on laiteajuri, joka käskyttää tietokoneesi internet-yhdyskäytävää sen haluamalla tavalla.

[IP-paketeista:] Kuten monissa muissakin tapauksissa, saatat saada hyödyllistä tietoa tutkimalla jo olemassa olevia kirjastoja.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta