willbend Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 (endret) 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 27. januar 2006 av willbend Lenke til kommentar
dayslepr Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 jo, feilen er da at han sitter bak en brannmur .. sjekk med nmap (google it) Lenke til kommentar
willbend Skrevet 27. januar 2006 Forfatter Del Skrevet 27. januar 2006 Jamen da skal det komme opp sånn "server.exe prøver å kontakte internett", det kom det ikke til han. Lenke til kommentar
dayslepr Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 (endret) 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 27. januar 2006 av dayslepr Lenke til kommentar
willbend Skrevet 27. januar 2006 Forfatter Del Skrevet 27. januar 2006 Jeg sa feil, mente "server.exe prøver å lytte på porter". Men til de som sitter bak en router, hva er løsningen på problemet ? Lenke til kommentar
Dead_Rabbit Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 Hvis kameraten din sitter bak en router fungerer routeren som en brannmur. For at vennen din skal få brukt serveren må han gå inn på router-instillingene og "forwarde" porten den serveren "lytter" på, til hans egen pc. Lenke til kommentar
willbend Skrevet 27. januar 2006 Forfatter Del Skrevet 27. januar 2006 Det er ikke akkurat en fleksibel løsning, er det den eneste løsningen? Hvordan løser skype, webbrowsere dette da ? Lenke til kommentar
Dead_Rabbit Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 (endret) 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å. Edit: Sjekk ut de forskjellige protokollene Endret 27. januar 2006 av zirener Lenke til kommentar
willbend Skrevet 27. januar 2006 Forfatter Del Skrevet 27. januar 2006 Hva med f.eks. Netbus? Hvordan løser den problemet med routere? Lenke til kommentar
dayslepr Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 (endret) 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 27. januar 2006 av dayslepr Lenke til kommentar
willbend Skrevet 27. januar 2006 Forfatter Del Skrevet 27. januar 2006 (endret) 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 27. januar 2006 av willbend Lenke til kommentar
dayslepr Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 (endret) 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 27. januar 2006 av dayslepr Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå