Fredrik90 Skrevet 3. mars 2005 Del Skrevet 3. mars 2005 hei... har nå prøvd å få satt opp en socket ved å bruke winsock2. Jeg bruker samme kode som på devc++ men nå funker det ikke lenger. er ikke koden det er feil med, men selve fila winsock2.h som får en masse feil. eks. c:\Documents and Settings\Eier\Skrivebord\Flight-Real\winsock2.h(536) : error C2556: 'int (__cdecl *DECLARE_STDCALL_P(servent *))(const char *,const char *)' : overloaded function differs only by return type from 'int (__cdecl *DECLARE_STDCALL_P(servent *))(int,const char *)' får 44 errors fra winsock2.h noen som vet hva som er feil? mvh. Fredrik Lenke til kommentar
søpple Skrevet 3. mars 2005 Del Skrevet 3. mars 2005 hm - åssen havna winsock2.h i katalogen c:\Documents and Settings\Eier\Skrivebord\Flight-Real\ ...? Lenke til kommentar
Fredrik90 Skrevet 3. mars 2005 Forfatter Del Skrevet 3. mars 2005 funka ikke når jeg prøvde først, så prøvd og kopier den over. noern ideer? ingen ting funker. Lenke til kommentar
søpple Skrevet 3. mars 2005 Del Skrevet 3. mars 2005 (endret) Lær deg å bruke kompileren fra grunnen av: http://www.network-theory.co.uk/docs/gccintro/ Det å kopiere over winsock2.h til en eller annen katalog fordi det "ikke funka" er så idiotisk at jeg blir tullete i hue av å tenke på det. Edit: Du er nødt til å droppe alt av grafiske programmeringsverktøy (VC++, Dev-C++, KDevelop o.s.v.) intill du forstår hva som foregår - først da kan du begynne å bruke slike verktøy for at programmeringen skal gå fortere. Man bruker kun slike verktøy for at detaljer man allerede forstår ikke skal komme i veien for nye detaljer mer relatert til selve koden, som man først da prøver å forstå. Gir ikke dette mening? .. Ta å les setningene et par ganger .. Jeg har sikkert sagt dette 10 000 ganger nå .. heh :] Endret 3. mars 2005 av søpple Lenke til kommentar
Fredrik90 Skrevet 4. mars 2005 Forfatter Del Skrevet 4. mars 2005 det jeg lurte på var om noen hadde hørt om noe lignende med winsock2.h? er veldig kjedelig at de filene som følger med vc++ ikke er forhåndskomilert. og ineholder errors. Lenke til kommentar
iobas Skrevet 4. mars 2005 Del Skrevet 4. mars 2005 (endret) nå har jeg aldri brukt winsock2.h men jeg tviler på at microsoft har sluppet ut den hvis den inneholder errors.. kjenn dine begrensninger. når du ikke vet hvordan pointere og arrayer funker engang, så er det ikke noe vits å drive med opengl og winsock og sånn. fordi når du da støter på feil, så har du ikke peiling på hvorfor feilen kommer eller hva du skal gjøre, også kommer du hit og griner om at det er headerne sin skyld. Endret 4. mars 2005 av iobas Lenke til kommentar
Dead_Rabbit Skrevet 4. mars 2005 Del Skrevet 4. mars 2005 Det har flere ganger skjedd med meg at kompilatoren klager på string.h, men det har selfølgelig vært jeg som har gjort noe feil, ikke string.h. Vil tippe på at dette er noe av det samme. At du utfører en operasjon på et objekt i winsock2.h som den "ikke tåler". Lenke til kommentar
Fredrik90 Skrevet 4. mars 2005 Forfatter Del Skrevet 4. mars 2005 for det første. jeg vet veldig godt hva en array er hvordan den defineres og hvordan du henter ut informasjon derifra. Så vidt jeg vet så er den koden jeg bruker helt fin. men skal se sjekke litt til. men skjønner ikke hvorfor kompilatoren klager på en masse redefinations i winsock2.h og ikke i vc++. men har noe hørt om at det har vært feil med winsock2.h før? Lenke til kommentar
Dead_Rabbit Skrevet 4. mars 2005 Del Skrevet 4. mars 2005 Lær deg å bruke kompileren fra grunnen av:http://www.network-theory.co.uk/docs/gccintro/ Det å kopiere over winsock2.h til en eller annen katalog fordi det "ikke funka" er så idiotisk at jeg blir tullete i hue av å tenke på det. Edit: Du er nødt til å droppe alt av grafiske programmeringsverktøy (VC++, Dev-C++, KDevelop o.s.v.) intill du forstår hva som foregår - først da kan du begynne å bruke slike verktøy for at programmeringen skal gå fortere. Man bruker kun slike verktøy for at detaljer man allerede forstår ikke skal komme i veien for nye detaljer mer relatert til selve koden, som man først da prøver å forstå. Gir ikke dette mening? .. Ta å les setningene et par ganger .. Jeg har sikkert sagt dette 10 000 ganger nå .. heh :] Syns dette har vært det beste rådet hittil! Du sier jo selv at du ikke skjønner kompilatoren! Lenke til kommentar
Fredrik90 Skrevet 4. mars 2005 Forfatter Del Skrevet 4. mars 2005 ok greit nok. men lurer på om noen har hørt om noe sånt før? Lenke til kommentar
søpple Skrevet 4. mars 2005 Del Skrevet 4. mars 2005 (endret) det jeg lurte på var om noen hadde hørt om noe lignende med winsock2.h? Nei - aldri. men skjønner ikke hvorfor kompilatoren klager på en masse redefinations i winsock2.h og ikke i vc++. Hva mener du her? "Ikke i vc++"..? Hva bruker du egentlig? * VC++ ..eller.. * MinGW ...? Om du bruker MinGW foreslår jeg at du gjør en fresh reinstall, og at du for guds skyld ikke "flytter over" noe når ting "ikke funker". men har noe hørt om at det har vært feil med winsock2.h før? Nei - aldri. Feilene rundt slike ting har for meg altid vært "eksterne"; altså ikke kode-relaterte når man ser på winsock2.h i isolasjon. Endret 4. mars 2005 av søpple Lenke til kommentar
Fredrik90 Skrevet 4. mars 2005 Forfatter Del Skrevet 4. mars 2005 (endret) har nå prøvd masse forskjelig kode til vc++ og ingen funker p.g.a winsock2.h ender opp med masse feil. edit: er snakk om VC++ men skjønner ikke hvorfor kompilatoren klager på en masse redefinations i winsock2.h og ikke i vc++. begklager dårlig formulering. skjønner bare ikke hvorfor den vc++ skal klage på redefinasjoner i winsock2.h trodde de var forhåndskompilert det som fulgte med vc++. eller har jeg tatt feil her? Endret 4. mars 2005 av Fredrik90 Lenke til kommentar
Mantion Skrevet 17. mars 2005 Del Skrevet 17. mars 2005 (endret) Prøv heller winsock.h og husk at du må inkludere lib filene wsock32.lib og mpr.lib Det gjør du under "my project" "settings" "link" "add object/module" eller noe... PS: Husk at hvis du skal sende INT over en socket, bør du sende den i binary. Det gjør du slik: int theInteger = 123; send(mysocket, (const char*)&theInteger, 4, 0); * const char* fordi at man ikke kan sende inter over socket uten videre... * & fordi at det er i binary * , 4 , fordi at en int inneholder 4 bits eller hva det var Håper dette hjelper! Mantion Endret 17. mars 2005 av Mantion Lenke til kommentar
☀ ❄ Skrevet 17. mars 2005 Del Skrevet 17. mars 2005 (endret) * const char* fordi at man ikke kan sende inter over socket uten videre...* & fordi at det er i binary * , 4 , fordi at en int inneholder 4 bits eller hva det var Heltall representeres binært i minnet, på harddisken og over nettverkstilkoblinger -- på samme måte som alt annet i datamaskinen. Det du gjør er altså ikke å konvertere tallet til binær; du kaster om heltallets adresse til en peker til en C-streng. Et heltall trenger for øvrig ikke å være på 4 byte, så det er bedre å bruke f.eks. sizeof(int). Edit: Fjernet en malplassert "det". Endret 17. mars 2005 av Myubi 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å