Añadido para especificar IP/puerto desde el que se conecta
parent
ea591c698d
commit
aa59aba51d
|
|
@ -427,10 +427,26 @@ void Cstr_socket_srv::pon_tout( int t_out )
|
||||||
}
|
}
|
||||||
//**********************************************************************************************************************************
|
//**********************************************************************************************************************************
|
||||||
//**********************************************************************************************************************************
|
//**********************************************************************************************************************************
|
||||||
extern "C" UTILES_EXPORT BOOL str_socket_conecta( Cstr_socket *soc, char *ip, int puerto )
|
extern "C" UTILES_EXPORT BOOL str_socket_conecta(Cstr_socket * soc, char* ip, int puerto, char* ip_local)
|
||||||
{
|
{
|
||||||
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||||||
return soc->crear() && soc->conecta(ip, puerto);
|
BOOL b = TRUE;
|
||||||
|
int n = 1;
|
||||||
|
|
||||||
|
|
||||||
|
if (ip_local && ip_local[0] != 0)
|
||||||
|
{
|
||||||
|
do
|
||||||
|
{
|
||||||
|
b = soc->crear(ip_local, puerto + n);
|
||||||
|
n++;
|
||||||
|
} while (!b && n < 5);
|
||||||
|
if (!b)
|
||||||
|
int err = GetLastError();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
b = soc->crear();
|
||||||
|
return b && soc->conecta(ip, puerto);
|
||||||
}
|
}
|
||||||
//**********************************************************************************************************************************
|
//**********************************************************************************************************************************
|
||||||
extern "C" UTILES_EXPORT Cstr_socket * str_socket_crea()
|
extern "C" UTILES_EXPORT Cstr_socket * str_socket_crea()
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ public:
|
||||||
};
|
};
|
||||||
//funciones de socket cliente para pinvoke-----------------------------------------------------
|
//funciones de socket cliente para pinvoke-----------------------------------------------------
|
||||||
extern "C" UTILES_EXPORT Cstr_socket *str_socket_crea();
|
extern "C" UTILES_EXPORT Cstr_socket *str_socket_crea();
|
||||||
extern "C" UTILES_EXPORT BOOL str_socket_conecta(Cstr_socket *soc, char *ip, int puerto);
|
extern "C" UTILES_EXPORT BOOL str_socket_conecta(Cstr_socket *soc, char *ip, int puerto, char* ip_local=NULL);
|
||||||
extern "C" UTILES_EXPORT BOOL str_socket_envia(Cstr_socket *soc, char *txt);
|
extern "C" UTILES_EXPORT BOOL str_socket_envia(Cstr_socket *soc, char *txt);
|
||||||
extern "C" UTILES_EXPORT int str_socket_recive(Cstr_socket* soc);
|
extern "C" UTILES_EXPORT int str_socket_recive(Cstr_socket* soc);
|
||||||
extern "C" UTILES_EXPORT void str_socket_dame_buf(Cstr_socket* soc, char* buf);
|
extern "C" UTILES_EXPORT void str_socket_dame_buf(Cstr_socket* soc, char* buf);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue