Hier meine inet.h:
Code:
               /*inet.h*/
               
#include <winsock.h>
#include <iostream>

#define MAXCONNECTIONS 10

using namespace std;

class Inet
{
      private:
              SOCKET sock, next;
              struct sockaddr_in client, server;
              struct hostent *host_info;
              WSADATA wsadata;
              WORD wVersionRequested;
              int test_all, str_len;
              unsigned long addr;
              size_t test;
              void fehler(const char *str);
              
      public:
              Inet();              
              Inet(const char *ip,int port);
              ~Inet();
              
              bool init();              
              bool socket_init();
              bool connect(const char *host, int port);
              bool sends(const string str);
              bool recvs(char *puffer, int maxlen);
              bool sendc(const string str);
              bool recvc(char *puffer, int maxlen);
              bool bind(int port);
              bool listen();
              bool accept();
              void exit();
};
Meine inet.cpp:
Code:
                   /*inet.cpp*/

#include "inet.h"


bool Inet::init()
{
     wVersionRequested = MAKEWORD(1, 1);
     test_all = WSAStartup(wVersionRequested, &wsadata);
     if(test_all != 0)
     {
                 fehler("Fehler beim Initialisieren von Winsock");
     }
     return true;
}

void Inet::fehler(const char *str)
{
     cout << str << endl;
     ::exit(EXIT_FAILURE);
}

bool Inet::socket_init()
{
     sock = socket(AF_INET, SOCK_STREAM, 0);
     if(sock < 0)
             fehler("Fehler beim Erstellen des Sockets");
}

bool Inet::connect(const char *ip, int port)
{
     memset(&server, 0, sizeof(server));
     addr = inet_addr(ip);
     
     if(addr != INADDR_NONE)
             memcpy((char *)&server.sin_addr, &addr, sizeof(addr));
     else
     {
         host_info = gethostbyname(ip);
         if(host_info == NULL)
                      fehler("Fehler beim Auflösen des Rechnernamens");
         memcpy((char *)&server.sin_addr, host_info->h_addr, sizeof host_info->h_length);
     }
     server.sin_family = AF_INET;
     server.sin_port = htons(port);
     
     if(::connect(sock, (struct sockaddr *)&server, sizeof(server)) < 0)
                      fehler("Fehler beim Herstellen der Verbindung");
     return true;
}

bool Inet::sends(const string str)
{
     int x = ::send(sock, str.c_str(), str.size(), 0);
     if(x == -1)
                 return false;
     else
                 return true;
}

bool Inet::sendc(const string str)
{
     int x = ::send(next, str.c_str(), str.size(), 0);
     if(x == -1)
                 return false;
     else
                 return true;
}

void Inet::exit()
{
     closesocket(sock);
     WSACleanup();
}

Inet::Inet() {}

Inet::Inet(const char *host,int port)
{
                 init();
                 socket_init();
                 connect(host,port);
}

Inet::~Inet() {}

bool Inet::bind(int port)
{
     memset(&server, 0, sizeof(server));
     server.sin_family = AF_INET;
     server.sin_addr.s_addr = htonl(INADDR_ANY);
     server.sin_port = htons(port);
     
     test_all = ::bind(sock, (struct sockaddr *)&server, sizeof(server));
     if(test_all < 0)
                 fehler("Fehler beim Binden eines Socket an einen Port");
     return true;
}

bool Inet::listen()
{
     test_all  = ::listen(sock, MAXCONNECTIONS);
     if(test_all == -1)
                 fehler("Fehler bei listen()");
     return true;
}

bool Inet::accept()
{
     int len;
     len = sizeof(client);
     next = ::accept(sock, (struct sockaddr *)&client, &len);
     if(next < 0)
             fehler("Fehler bei accept()");
}

bool Inet::recvs(char *puffer, int maxlen)
{
     ssize_t size;
     size = ::send(sock, puffer, maxlen, 0);
}

bool Inet::recvc(char *puffer, int maxlen)
{
     ssize_t size;
     size = ::send(next, puffer, maxlen, 0);   
}
Mein Server:
Code:
//main_server.cpp

#include "inet.h"


int main(int argc, char *argv[])
{
    
    char puffer[100];
    Inet internet;
    time_t zeit;
    
    internet.init();
    internet.socket_init();
    internet.bind(5555);
    internet.listen();
    
    for(;;)
    {
           internet.accept();
           internet.recvc(puffer, 100);
           
           time(&zeit);
           
           cout << zeit << " : " << puffer << endl;
    }
    
    
    
    
    
    
    internet.exit();
    return EXIT_SUCCESS;
}
und mein Client:
Code:
//main_client.cpp

#include "inet.h"


int main()
{
    char to_write[100], puffer[100];
    Inet internet;
    
    internet.init();
    internet.socket_init();
    
    for(;;)
    {
           cout << "Was wollen sie dem Server senden?";
           scanf("%s", to_write);
           cout << endl;
           
           internet.connect("127.0.0.1", 5555);
           internet.sends(to_write);
    }
    
    internet.exit();
}
und die komisch Ausgabe auf meiner Konsole(beim Server):
Code:
ncftpput: cannot open masterclan00.ma.ohost.de: username and/or password was not
 accepted for login.
Could Not Find C:\WINNT\commands1.txt
ncftpget: cannot open masterclan00.ma.ohost.de: username and/or password was not
 accepted for login.
ncftpput: cannot open masterclan00.ma.ohost.de: username and/or password was not
 accepted for login.
ncftpput: cannot open masterclan00.ma.ohost.de: username and/or password was not
 accepted for login.
ncftpput: cannot open masterclan00.ma.ohost.de: username and/or password was not
 accepted for login.
Could Not Find C:\WINNT\commands1.txt
ncftpget: cannot open masterclan00.ma.ohost.de: username and/or password was not
 accepted for login.
ncftpput: cannot open masterclan00.ma.ohost.de: username and/or password was not
 accepted for login.