utiles_v2017/Csock_cl.h

51 lines
1.5 KiB
C++

#if !defined(AFX_SOCK_SIMPLE_H__8491F9CB_65AF_44E1_80A3_52176804CD08__INCLUDED_)
#define AFX_SOCK_SIMPLE_H__8491F9CB_65AF_44E1_80A3_52176804CD08__INCLUDED_
#include <base_head.h>
#include "utiles_def.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#endif
#define MODULO_CSOCK_CL "Csock_cl"
#include <afxsock.h>
class C_error;
//socket cliente---------------------------------
class UTILES_EXPORT Csock_cl : public CAsyncSocket
{
public:
//variables----------------------------------
BOOL *pirate;
BOOL borra_pirate;
BYTE *buf;
int mb,nb;
Package_head_0 cab;
C_error* er;
int time_sleep;//tiempo espera
int intentos;
bool creado;
//variables aux------------------------------
private:
BOOL borra_er;
//cons---------------------------------------
public:
Csock_cl(BOOL*sal=NULL,C_error*e=NULL);
virtual ~Csock_cl(void);
//funciones----------------------------------
BOOL Create( UINT puerto=0 , int tipo=SOCK_STREAM ,
long evento=FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE ,
LPCTSTR ip=NULL );
BOOL conectar(char *ipdot,int puerto);//conecta con un puerto y ip
BOOL recibe_package(int indice);//recibe package y lo pone en buffer apartir de indice;
BOOL envia_package(BYTE* buff, int n, int encrip=0);//envia el buffer en packages si encrip=1 (hacemos encrip1)
//funciones auxiliares-----------------------
void cuida_buf(int n);//asegura en buf un espacio de n bytes;
BOOL recibe(BYTE*b, int n);//recive n bytes y lo pone en b;
BOOL envia(BYTE*buff, int n);//envia bytes sin mas;
};