Try this
You can use this thread for reference:
http://forums.alliedmods.net/showpos...06&postcount=4
PHP Code:
//added to be able to compile
//const TASK_RECV = 1234;
new bothost,botcmd[2049];
new socket_status[50]
public socket_init()
{
new ip[64],port,erre,user[32],pass[100]
new cmd[300];
get_cvar_string("cm_bot_host",ip,charsmax(ip))
port = get_cvar_num("cm_bot_port")
get_cvar_string("cm_bot_user",user,charsmax(user))
get_cvar_string("cm_vot_pass",pass,charsmax(pass))
bothost = socket_open(ip,port,SOCKET_TCP,erre)
if ( bothost && !erre )
{
server_print("Socket Reopened");
formatex( cmd , charsmax(cmd) , "USER asd^r^nPASS asd^r^n" )
socket_send( bothost , cmd , sizeof( cmd ) )
set_task( 0.5 , "socket_read" , TASK_RECV+bothost , .flags="b" );
}
}
public socket_read( iTaskInfo )
{
static bothost , iDataRecv;
bothost = iTaskInfo - TASK_RECV;
if ( socket_change( bothost ) )
{
iDataRecv = socket_recv( bothost , botcmd , charsmax( botcmd ) );
//Not a good way to check if a connection was lost. Better to check when
//the last response was recvd and if the duration exceeds X seconds, consider
//connection timed out.
if ( !iDataRecv /* equal( botcmd , "" ) */ )
{
server_print("[Network] Connection with Bot has been lost");
socket_close( bothost );
remove_task( iTaskInfo );
socket_init();
}
}
}
__________________