All pastes #819157 Raw Edit

KOrUPt

public c v1 · immutable
·published 2007-12-16 20:35 UTC
rendered paste body
SOCKET MasterSocket;SOCKET TheClient;   SOCKET m_backup;     WSADATA wsaData;   sockaddr_in con;     // ------- Make sure you call this function before the others ------------------int WSInit() // initalizes winsock{    int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);    if (iResult != NO_ERROR )      {       WSACleanup();        return 0;      }       MasterSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );    if ( MasterSocket == INVALID_SOCKET )    {        WSACleanup();        return 0;    }   m_backup = MasterSocket;}//  Starts a serverint startAsServer(int PORT){    con.sin_family = AF_INET;    con.sin_addr.s_addr = inet_addr( "0.0.0.0" );    con.sin_port = htons(PORT);    if (bind(MasterSocket,(SOCKADDR*) (&con), sizeof(con) ) == SOCKET_ERROR)     {        closesocket(MasterSocket);        WSACleanup();        return 0;     }    if (listen( MasterSocket, 1 ) == SOCKET_ERROR ) {        closesocket(MasterSocket);        WSACleanup();        return 0;    }}void waitForClient(){      TheClient = SOCKET_ERROR;        while ( TheClient == SOCKET_ERROR )           {              Sleep(150);              TheClient = accept( m_backup, NULL, NULL );           }        MasterSocket = TheClient;}// Call this function after you've created a client\server, like this "SOCKET mySocket = SetDataTransferSocket();"SOCKET SetDataTransferSocket(){return TheClient;}// be sure you call this function before you close your app or when you want to dissconnectvoid Dissconnect(SOCKET socketToDissconnect){ closesocket(TheClient); closesocket(m_backup); closesocket(MasterSocket); closesocket(socketToDissconnect); WSACleanup();}