Winsock Control Problem

G-Man

Grünschnabel
Hi Leute!

Ich bin neu hier im Forum und möchte euch gleich mal mit einer Frage löchern ;)

Ich erstelle mir grad ein Programm, womit ich mit anderen Rechnern kommunizieren kann, also über Winsock! Das Ganze nicht über die Socket-Funktionen, sondern mit dem ActiveX Steuerelement, welches ich viel komfortabler finde!
Ich habe nur ein kleines Problem mit dem Verbinden, was eigentlich keines darstellen sollte! Ich habe schonmal mit den Socket-Funktionen in C++ (Konsolenanwendung) ein Winsock Programm erstellt, aber nicht nicht in MFC mit dem ActiveX Steuerelement!
Meine Lage sieht wiefolgt aus:

Ich habe ein Server-Programm (Client-Port: 6662), dass folgende Funktion zum Ereignis "OnConnectionRequest" beinhaltet:
Code:
void CgmmssrvDlg::ConnectionRequestWinsock(long requestID)
{
//m_ws ist die Membervariable des Winsock-ActiveX-Steuerelements
char* strData = new char[1000];
VARIANT data;
data.vt = VT_I1 | VT_BYREF;

m_ws.Accept(requestID);
m_strSrvStatus = get_strState(m_ws.get_State());
UpdateData(FALSE);

sprintf(strData, "SYS||SRVNAME|%s|:MAXCON|%d|:SRVPWD|%d||END", m_strSrvname, m_strMaxConn, m_bSrvPwd);
data.pcVal = strData;

m_ws.SendData(data);
}

und ein Programm, dass als Client(Remote-Port: 6662) fungiert und wiefolgt auf Knopfdruck verbinden sollte:
Code:
//m_ws ist die Membervariable des Winsock-ActiveX-Steuerelements
VARIANT server, port;

server.vt = VT_I1 | VT_BYREF;
server.pcVal = "localhost";
port.vt = VT_INT;
port.intVal = 6662;

m_ws.Connect(server, port);

Ich kann mit dem Client Programm nicht zum Serverprogram verbinden! Wenn ich jedoch mein altes Konsolenprogramm rauskrame, wo ich Winsock noch mit den Socket-Funktionen ausführe, kann ich zum Server-Programm verbinden! Der Fehler muss also im Client-Programm liegen! Aber ich weiß einfach nicht wo! Wenn ich verbinden drücke und den Socket-State abrufe, is dieser '6' (also 'Connecting')! Er scheint also keine Verbindung aufbauen zu können!

Ich hoffe ihr könnt mir weiterhelfen!
Danke euch

Mfg, G-Man
 
Zurück