Zum Inhalt springen

Verbindung zu Server aufbauen...


HansChrisLuk

Empfohlene Beiträge

Hallo,

also ich versuche eine Verbindung zu einem Server aufzubauen, allerdings klappt das überhaupt nicht. Das ist mein Code:

#include

#include

void main () {

SOCKET sock;

int conn;

struct sockaddr_in server;

unsigned long addr;

struct hostent *hp;

sock = socket( AF_INET, SOCK_STREAM, 0 );

if (sock < 0) {

printf("Fehler beim Erzeugen des Sockets");

}

memset( &server, 0, sizeof (server));

addr = inet_addr("216.239.59.99");

memcpy( (char *)&server.sin_addr, &addr, sizeof(addr));

server.sin_family=AF_INET;

server.sin_port=htons(80);

conn=connect(sock,(struct sockaddr*)&server, sizeof(server));

}

und wenn ich es kompiliere bekomme ich die Fehlermeldung:

get_string3.obj : error LNK2019: unresolved external symbol _htons@4 referenced

in function _main

Was mache ich falsch? Muss ich noch die Biblio wsock32.lib einbinden?

Ich arbeite unter Win und mit dem Editor (ConText)

Gruß

Chris

P.S.: Ich hab jetzt mal in Visual Studio ein Projekt erstellt und die wsock32.lib durch den Linker hinzugefügt, nun bekomm ich aber immer die Fehlermeldung:

LINK : fatal error LNK1181: cannot open input file 'C:\Programme\Microsoft.obj'

Link zu diesem Kommentar
Auf anderen Seiten teilen

und wenn ich es kompiliere bekomme ich die Fehlermeldung:

get_string3.obj : error LNK2019: unresolved external symbol _htons@4 referenced

in function _main

Streng genommen bekommst du diese Fehlermeldung nicht beim Compilieren, sondern danach, beim Linken. Der Compiler hat seine Arbeit erledigt.

Was mache ich falsch? Muss ich noch die Biblio wsock32.lib einbinden?
Jedenfalls fehlt die Bilbiothek, in der htons implementiert ist.

Ich arbeite unter Win und mit dem Editor (ConText)
Mit welchem Compiler du arbeitest, wäre wichtiger gewesen ;)

P.S.: Ich hab jetzt mal in Visual Studio ein Projekt erstellt und die wsock32.lib durch den Linker hinzugefügt, nun bekomm ich aber immer die Fehlermeldung:
Für MSVC heißt die Bibliothek "Ws2_32.lib".

LINK : fatal error LNK1181: cannot open input file 'C:\Programme\Microsoft.obj'
Hast du da einen Pfad mit angegeben?
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

also ich arbeite mit Visual Studio 2005.

Was meinst Du mit "Hast du da einen Pfad mit angegeben?"

Also ich habe die Datei auch nicht auf meinem PC und ich habe sie auch nicht im Prog mit angeben.

Kann man eine Biblio nicht auch per Code einbinden? Wahrscheinlich nicht :confused: ... Ich habe sonst immer im Editor programmiert und dann mittel Visual Prompt die Dateien mit: cl Kuckuck.c

kompiliert. Gibt es da nicht noch eine Möglichkeit eine Biblio mit einzubinden:

cl Kuckuck.c -incl c:\Biblio.lib

oder so?

Vielen Dank schon einmal

Gruß

Chris

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was meinst Du mit "Hast du da einen Pfad mit angegeben?"
Du hast doch geschrieben:
Ich hab jetzt mal in Visual Studio ein Projekt erstellt und die wsock32.lib durch den Linker hinzugefügt,
Wie genau hast du das gemacht?

Also ich habe die Datei auch nicht auf meinem PC und ich habe sie auch nicht im Prog mit angeben.
Hast du das Platform SDK installiert?

Kann man eine Biblio nicht auch per Code einbinden? Wahrscheinlich nicht
Doch, mit #pragma comment. Das ist aber nicht Teil des Standards, nicht jeder Compiler kann das.

Gibt es da nicht noch eine Möglichkeit eine Biblio mit einzubinden:

cl Kuckuck.c -incl c:\Biblio.lib

Das sollte mit /link gehen. Aber warum bedienst du deinen Compiler über die Kommandozeile, wenn du eine IDE hast?
Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast doch geschrieben:Wie genau hast du das gemacht?

Ach so, beim Projekt habe ich über Properties -> Linker den Pfad zur Biblio angegeben (C:\programme\visual studio\...)

Hast du das Platform SDK installiert?

Weiß ich leider gar nicht genau. Wie finde ich das heraus?

Doch, mit #pragma comment. Das ist aber nicht Teil des Standards, nicht jeder Compiler kann das.

Stimmt, das habe ich schon probiert gehabt, ich war mir aber nicht sicher, ob es das richtige dafür ist. Ich werde es damit noch einmal probieren... bzw mit /link

Das sollte mit /link gehen. Aber warum bedienst du deinen Compiler über die Kommandozeile, wenn du eine IDE hast?

Ich arbeite lieber mit dem Editor, der ist schön klein und wirkt irgendwie "direkter", als diese riesige IDE, mit all den Projekten, Einstellungen und Fehlermeldungen :). Bisher hatte auch immer der Editor gereicht, aber ich glaube, die Zeiten sind langsam vorbei...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ach so, beim Projekt habe ich über Properties -> Linker den Pfad zur Biblio angegeben (C:\programme\visual studio\...)
Das meinte ich mit "hast du einen Pfad angegeben". Du hast einen Pfad angegeben, und da steht ein Leerzeichen drin. Normalerweise gibt man da keine Pfade an, sondern regelt das über die Library-Verzeichnisse.

Weiß ich leider gar nicht genau. Wie finde ich das heraus?
Systemsteuerung?

Ich arbeite lieber mit dem Editor, der ist schön klein und wirkt irgendwie "direkter", als diese riesige IDE, mit all den Projekten, Einstellungen und Fehlermeldungen :).
Dann ist das Problem hausgemacht. Du bekommst jetzt Probleme mit genau den Aufgaben, die dir die IDE abnimmt.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...