Winsock; Send und Receive richtig einbinden?



  • hi leute, ich hab schon nachgeschaut aber nicht das passende gefunden drum schreibe ich einfach mal mein Problem auf, also: ich soll als Projekt ein kleines Chatsystem Schreiben. (Server, Client) nun habe ich ein Problem. ich habe mir schon ein paar tutorials angeguckt, und da wird meist eine SingleTon klasse erstellt und dann da die funktionen untergebracht. das habei ch auch getan und eine Klasse Network erstellt (als ST) hab da befehle wie socket connect usw untergebracht und in methoden gesteckt wie dailup und bla bla 🙂 (siehe unten). nun habe ich ein Problem ich habe das Buch VC++ und .NET Kompendium, aber da wird daruf nicht wirklich eingegangen (mehr die "neuen" sachen wie MAPI). wie baue ich die empfangen und senden funktion in meine MFC ein (ich hab mir ne oberfläche gebaut einfach mit Editboxn als ein und ausgabe (weil bei richtext lädt er das prog nciht .. oda es wird gleich beendet). tja wie frage ich das alles ab ina shcleife ist sicher falsch.. da häng ick ja alled mit auf ... un zu den send und rec. befehlen steht das ne windows meldung sagt wenn was reinkommt (so in der art) wie kann ich das verstehen ???

    CPP

    #include "StdAfx.h"
    #include "network.h"
    
    CNetwork::CNetwork(void)
    {
    	m_Port = 80;
    	//m_ServerIP = "127.0.0.1";
    	m_tempsocket = true;
    	m_tempconnect = true;
    
    }
    
    CNetwork::~CNetwork(void)
    {
    }
    
    int CNetwork::SocketRequest(void)
    {
    	m_fdSocket = socket (AF_INET, SOCK_STREAM, 0);
    	if (m_fdSocket == -1) 
    	{
    		m_tempsocket = false;
    	}
    	return m_fdSocket;
    }
    
    int CNetwork::DialUp(void)
    {
    	sockaddr_in serv_addr;
    	serv_addr.sin_family = AF_INET;
    	serv_addr.sin_port = htons(m_Port);
    	serv_addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
    
    	if (connect(m_fdSocket, (sockaddr *) &serv_addr, sizeof(sockaddr)) == -1) 
    	{
    		m_tempconnect = false;
    	}
    
    	return 0;
    }
    

    Header

    #pragma once
    
    #include <winsock.h>
    
    class CNetwork
    {
    private:
    	int m_fdSocket;
    	int m_Port;
    	//char m_ServerIP;
    
    	// Temp
    	bool m_tempsocket;
    	bool m_tempconnect;
    
    private:
    	CNetwork(void);
    	~CNetwork(void);
    	CNetwork(const CNetwork&);
    	CNetwork& operator=(const CNetwork&);
    public:
    	static CNetwork& GetInstanz() 
            {
                // Die Instanz wird erst beim ersten Aufruf erzeugt.
                // Endet das Programm, wird Instanz vernichtet.
                static CNetwork Instanz;
                return Instanz;
            }
    	int SocketRequest(void);
    	int DialUp(void);
    };
    


  • du machst ja mfc..
    hier findest du ein paar hinweise

    http://www.c-plusplus.net/forum/viewtopic.php?t=69513&highlight=server+send



  • supper danke 🙂 für die schnelle hilfe


Anmelden zum Antworten