Silvercreast
Erfahrenes Mitglied
Hallo
mein Problem bezieht sich auf die Socket Programmierung und zwar habe ich für den Client folgenden Code geschrieben:
Den Code habe ich von hier aus einem anderen Thread. Habe dann von einer Internetseite die mir hier auch empfohlen wird einen Server Code erstellt:
Wie ich aber erkennen musste funktiniert gar nichts. Der Compiler hift mir nicht mehr der sagt alles ok, ich weiss net was ich falsch mache . Hab ich irgendwelche Bugs im Code oder wieso funktioniert das alles nicht.
Ich dachte das sich der Client verbindet und der Server ein Wilkommen zurück schickt aber nichts geht
Ich brauche dringend Hilfe
Gruß Silver
mein Problem bezieht sich auf die Socket Programmierung und zwar habe ich für den Client folgenden Code geschrieben:
Code:
SOCKET MySocket;
char serverip[20];
sockaddr_in addr;
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,0),&wsaData) != 0)
{
MessageBox(0,"WSA konnte nicht initialisiert werden","Fehler",MB_OK);
return false;
}
hostent* dns = gethostbyname("FuhrparkServer");
sprintf(serverip, "%u.%u.%u.%u",(unsigned char) dns->h_addr_list[0][0],
(unsigned char) dns->h_addr_list[0][1], (unsigned char) dns->h_addr_list[0][2],
(unsigned char) dns->h_addr_list[0][3]);
addr.sin_family = AF_INET;
addr.sin_port = htons(110);
addr.sin_addr.s_addr = inet_addr(serverip);
MySocket = socket( AF_INET, SOCK_STREAM,0);
if(MySocket == 0)
{
MessageBox(0,"Socket konnte nicht initalisiert werden","Fehler",MB_OK);
return false;
}
if(connect(MySocket, (sockaddr *) &addr, sizeof(addr)) == -1)
{
MessageBox(0,"Es konnte keine Verbindung aufgebaut werden","Fehler",MB_OK);
return false;
}
return true;
}
Den Code habe ich von hier aus einem anderen Thread. Habe dann von einer Internetseite die mir hier auch empfohlen wird einen Server Code erstellt:
Code:
SOCKET MySocket;
char serverip[20];
sockaddr_in addr;
sockaddr_in remote_addr;
WSADATA wsaData;
int size;
int remote_sock;
if (WSAStartup(MAKEWORD(2,0),&wsaData) != 0)
{
MessageBox(0,"WSA konnte nicht initialisiert werden","Fehler",MB_OK);
return false;
}
addr.sin_family = AF_INET;
addr.sin_port = htons(110);
addr.sin_addr.s_addr = INADDR_ANY;
MySocket = socket( AF_INET, SOCK_STREAM,0);
if(bind(MySocket, (sockaddr* ) &addr, sizeof(addr)) == -1)
{
MessageBox(0,"Socket konnte nicht initalisiert werden","Fehler",MB_OK);
return false;
}
if(listen(MySocket,1) == -1)
{
MessageBox(0,"Es konnte keine Verbindung aufgebaut werden","Fehler",MB_OK);
return false;
}
fflush(stdout);
size = sizeof(remote_addr);
remote_sock = accept(MySocket,(sockaddr* ) &remote_addr, &size);
fflush(stdout);
if(remote_sock < 0)
{
_close(MySocket);
MessageBox(0,"Socket geschlossen","Hinweis",MB_OK);
return false;
}
fflush(stdout);
size = send (remote_sock,"Wilkommen",11,0);
if(size == -1)
{
MessageBox(0,"Fehler","Fehler",MB_OK);
}
else
{
MessageBox(0,"Gesendet","Hinweis",MB_OK);
}
_close(remote_sock);
_close(MySocket);
fflush(stdout);
return true;
}
Wie ich aber erkennen musste funktiniert gar nichts. Der Compiler hift mir nicht mehr der sagt alles ok, ich weiss net was ich falsch mache . Hab ich irgendwelche Bugs im Code oder wieso funktioniert das alles nicht.
Ich dachte das sich der Client verbindet und der Server ein Wilkommen zurück schickt aber nichts geht
Ich brauche dringend Hilfe
Gruß Silver