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:
und ein Programm, dass als Client(Remote-Port: 6662) fungiert und wiefolgt auf Knopfdruck verbinden sollte:
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
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