Apua verkko-ohjelmointiin ?

verkkoja

Hei !

Aloitin verkko-ohjelmoinnin opettelun juuri linuxilla....
Miten saadaan C:llä koodattua client-server tyyppinen
chat niin että molemmat (sekä client etttä server) ovat samaa
tiedostoa eikä erilliset tiedostot clientillä ja serverillä.

Vähän sekavasti muotoiltu kysymys mutta asia kait tuli esille.

6

338

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ex C-koodari

      Googlella löytyy älyttömän paljon esimerkkejä esim. Hakusanoilla
      C socket programming linux. Msdn:sta löytyy myös esimerkkejä natiivista soketti
      pohjaisesta ohjelmoinnista, tosin kyllä wintoosalle mutta lähes samoja funktioita kuin linukassa ainakin pienellä googletuksella vastaavuden luulisi löytyvän nopeasti.

      • verkkoja

        Tässä on nyt tullut googleteltua mutta pääosin esimerkit ovat aina kahtena tiedostona tyyliin client.c ja server.c Vastaavasti tahtoisin nähdä esimerkki toteutuksen miten luodaan client-server tyyppinen toteutus niin että molemmat voidaan käynnistää samasta samasta tiedostosta tyyliin ClientServer.c

        Itsellä kun ei taito vielä riitä...


      • verkkoja
        verkkoja kirjoitti:

        Tässä on nyt tullut googleteltua mutta pääosin esimerkit ovat aina kahtena tiedostona tyyliin client.c ja server.c Vastaavasti tahtoisin nähdä esimerkki toteutuksen miten luodaan client-server tyyppinen toteutus niin että molemmat voidaan käynnistää samasta samasta tiedostosta tyyliin ClientServer.c

        Itsellä kun ei taito vielä riitä...

        Täsmennyksenä edelliseen...eli miten koodataan tällaista

        Serverin käynnistys: clientserver -p (port)
        Clientin käynnistys: clientserver -h (serveraddress) -p (port)

        jotta molemmat toimisivat yhdestä tiedostosta ClientServer.c


      • ITiootti
        verkkoja kirjoitti:

        Täsmennyksenä edelliseen...eli miten koodataan tällaista

        Serverin käynnistys: clientserver -p (port)
        Clientin käynnistys: clientserver -h (serveraddress) -p (port)

        jotta molemmat toimisivat yhdestä tiedostosta ClientServer.c

        #include "server.h"
        #include "client.h"

        int main(char **arg, int arc){

        if(arc==3)serverMain(arg, arc);
        else if(arc==5)clientMain(arg, arc);
        else return -666;
        return 0;

        }


      • verkkoja
        ITiootti kirjoitti:

        #include "server.h"
        #include "client.h"

        int main(char **arg, int arc){

        if(arc==3)serverMain(arg, arc);
        else if(arc==5)clientMain(arg, arc);
        else return -666;
        return 0;

        }

        Mitä tuo edellinen määrittely niinku tarkalleen tekee ??


      • asdasdasdasd2
        verkkoja kirjoitti:

        Mitä tuo edellinen määrittely niinku tarkalleen tekee ??

        1. Parseta komentoriviargumentit
        2. Riippuen argumenteista käynnistä client tai palvelinaliohjelma
        3. ????
        4. Profit!

        ps. huoh tätä suomi24 ;) Nimimerkki asdasdasdasd on jo varattu. Valitse toinen nimimerkki.


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

    Luetuimmat keskustelut

    1. S-kauppa nosti hintoja, K-kauppa laski

      Elintarvikkeiden arvonlisävero laski vuodenvaihteessa 13,5 prosenttiin. S-kauppa siirsi alennuksen suoraan katteisiin pi
      Maailman menoa
      165
      7572
    2. Hiihtäjä Vilma Nissisen kommentit aiheutti paniikkia

      ja hernettä vedettiin nenään. Nissinen kertoi torstaina haastattelussa, kun häneltä kysyttiin, että tykkääkö hän hiihtä
      Maailman menoa
      130
      5199
    3. Huuto yltyy persujen piirissä Venezuelan johdosta.

      Kohta kakofonia yltyy kun persut tajuavat mitä Venezuelassa tapahtui. Von den Leydenki jo kipuilee kuten persut EU:ssa y
      Maailman menoa
      43
      2680
    4. Koska mennään retkeilemään?

      pusi pusi 😗
      Ikävä
      271
      2318
    5. Nyt ottaa persua pattiin: sähköauto joulukuun myydyin

      🤣 prööt prööt pakoputkellaan pörisevää persua ottaa nyt saamaristi pattiin, kun paristoilla kulkeva sähköauto on noussu
      Maailman menoa
      81
      2218
    6. Ovatko Perussuomalaiset kommunisteja?

      Toiset sanovat että ovat, toiset sanovat että eivät. Ainakin heillä on paljon sen aatteen piirteitä, koska haluavat kont
      Maailman menoa
      70
      2092
    7. Yhdysvaltain hyökkäys Venezuelaan on YK:n peruskirjan mukaan laiton hyökkäyssota

      Oman sävynsä tähän tuo vielä se, että hyökkäys kohdistettiin nimenomaan valtiojohtoa vastaan. Toki, kun tavoitteena on v
      Maailman menoa
      567
      2065
    8. Ei tule uni

      Kuten epäilin. Onneksi viime yön sain ihan hyvin nukutuksi. Tiesin kyllä, ettei tästä mitään tänään tule.
      Ikävä
      57
      1126
    9. Miksi juuri Venezuela?

      Kaikista maailman valtioista Trump otti silmätikukseen Venezuelan. Mutta minkä ihmeen takia? Kyseessä on kuitenkin vähäp
      Maailman menoa
      291
      1097
    10. Laittaisin whatsuppissa viestin

      Jos olisin täysin varma että se on toivottua vielä kun aikaa on mennyt ja että toivot sitä edelleen.
      Ikävä
      67
      1079
    Aihe