Gå til innhold

Mine sockets funker ikke


Anbefalte innlegg

Jeg har laget to programmer som sender en liten beskjed til hverandre.

 

På serveren bruker jeg:

 service.sin_addr.s_addr = INADDR_ANY;

 

På klienten bruker jeg

cin>> ip;
   clientService.sin_addr.s_addr = inet_addr( ip );

 

Når server kjører på pappa sin pc, og jeg åpner clienten og skriver 192.168.2.24 da funker det perfekt. Men hvis en annen venn kjører serveren og jeg skriver inn hans eksterne ip, funker det ikke. Merk at han sitter ikke bak en brannmur, han er tilkoblet direkte til internett.

 

Hva er feil ?

 

EDIT: Noen som vet om noen bra c++ forum hvor man får svar rimelig kjapt?

Endret av willbend
Lenke til kommentar
Videoannonse
Annonse
Jamen da skal det komme opp sånn "server.exe prøver å kontakte internett", det kom det ikke til han.

5508793[/snapback]

 

vel, server.exe kontakter ikke internett .. det er hele poenget med en server .. det er klienter som tar initiativet; mens servere er passive «lyttere»

 

tror du bør lese litt grundigere; søk etter "beej socket" @ google

Endret av dayslepr
Lenke til kommentar

Hmm.. Vil tro at du sitter med hver din klient som kobler seg til en server. Og på den måten blir serveren "mellomleddet". Altså, klient1 sender info til server, server sender info fra klient1 til klient2 og omvendt. Men dette er jeg langt ifra sikker på; var bare det første jeg kom på. :p

 

Edit: Sjekk ut de forskjellige protokollene

Endret av zirener
Lenke til kommentar

dette svarte jeg på i posten din under "Generell annen..", willbend

 

edit:

netbus og lignende ting (trojaner) kan sikkert settes opp til å være klienter som kontakter pre-definerte servere .. bruk fantasien din

Endret av dayslepr
Lenke til kommentar

Så for å lage en enkelt chatteprogram må jeg lage en egen server i tillegg som brukes som mellomledd, kunne den serveren lages i php, eller asp, eller må det være noe i c++, delphi, etc?

 

Er det noen som har en oppskrift på hvordan gjøre det som jeg har beskrevet her?

Endret av willbend
Lenke til kommentar

søk på "beej socket" @ google .. "oppskrifter" vil si kildekode.. i tillegg til det som står i beej-guiden av kildekode finner du masse på sf.net (finnes både irc-klienter og servere der) og andre steder ... men egentlig burde beej-guiden holde om du leser den skikkelig; da skjønner du åssen resten fungerer

 

om du hadde lest og satt deg inn i dette hadde du visst at for å i det hele tatt kommunisere, så må det være minst en server og en klient

 

så spørsmålet er ikke lenger hva som trengs, men hvordan du vil legge det opp - for å løse et annet problem som kommer siden i andre eller større sammenhenger

 

du kan fint lage et p2p chatte-program der den ene klienten server, og den andre har rollen som klient .. men på grunn av dette med ruting skjønner du vel at dette ikke er noe lurt i større skala

 

dette burde være veldig enkle greier, om du gidder å sette deg skikkelig inn i det selv

 

noe mer?

 

edit:

"server" og "klient" er abstrakte konsepter, men om du er ute etter «ting» som kommuniserer v.h.a. sockets på lavnivå vet jeg at PHP har bindinger til socket-stuff, så du skal kunne bruke PHP (selv om jeg aldri har testet, og vet ikke hvor gode eller komplette disse er)

 

alt stuff blir sendt (browser<->http-server (php)) via sockets, så om du vil bruke PHP som server på "vanlig måte" må klienten parse HTTP-headere m.m.

Endret av dayslepr
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...