Tervehdys kaikille,
Tuli tässsä pieni kysymys socketeista. Eli olen tekemässä monta sockettia tukevaa serveri softaa, mutta tuli nytten yksi pieni kysymys tähän väliin. Eli toteutan clienttien sockettien käsittelyn select()-funktiolla.
...mutta sitten itse ongelmaan. Eli voiko/pitääkö palvelimelle luoda oma socketti kuuntelua varten? Eli siis kun laitan vaikka servun kuuntelemaan sockettia "serverin_socketti", niin sitten kun joku yhdistää niin voinko acceptilla ohjata clientin yhteyden esim. "asiakas1_sockettiin", vai pitääkö yhteys acceptaa "serverin_sockettii" ja tämän jälkee avata servu kuuntelemaan jotain toista sockettia?
Eikös siinä käy väkisin noin. Ensiks luot socketin joka kuuntelee niitä yhteyksiä, ja sitten ne yhteydet hyväksytään accept():lla joka palauttaa uuden "asiakassocketin". Se vanha kuunteleva socket ei häviä minnekään, ei kannata ylikirjoittaa sitä.
eli siis toiminta tapa olisi seuraava
listen(socketti[0]) //...soketti[0] yhdistettiin socketti[0] = accept( socketti[0] ...) //.. kun socketti[0] on joku yhdistäny siirrytään kuuntelemaan socketti[1] listen(socketti[1])
Ei, vaan kuten Deffi sanoi:
listen(palvelin); asiakas[0] = accept(palvelin); asiakas[1] = accept(palvelin); asiakas[2] = accept(palvelin);
Juuri tuota tarkoitinkin, että tehdäänkö se noin! Kiitos paljon teille. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.