Exemplo n.º 1
0
static void signal_handle(int signum){
    //SIGINT triggered by CTRL-C
    //SIGTERM triggered by kill
    if(SIGTERM == signum){
        log_info("recv kill signal, va_client will exit normally\n");
        tcp_client_stop(client);
    }
    else if(SIGINT == signum){
        log_info("recv CTRL-C signal, va_client will exit normally\n");
        tcp_client_stop(client);
    }
    else if(SIGCHLD == signum){
        log_info("recv SIGCHLD signal[%d].\n", signum);
    }
    else{
        log_info("receive signal: %d\n", signum);
        exit(0);
    }
}
Exemplo n.º 2
0
int main(void)
{
    
    tcp_server_data_t * server;
    tcp_client_data_t * client;
    int i;
    char message[MAX_BUFFER_LEN];
    
    i= 0;
    
    server = tcp_server_data_new();
    strcpy(server->port,"8675");
    
    client = tcp_client_data_new();
    strcpy(client->dest_ip_address,"localhost");
    strcpy(client->port,"8675");
    
    tcp_server_start(server);
    tcp_client_start(client);

    printf("testing server and client with 5 messages\n");
    while(i<5)
    {
        sleep(1);
        sprintf(message, "ack from client %d\n",i);
        thread_copy_to_buffer(client->send_buffer, message);
        
        sprintf(message, "boo form server %d\n",i);
        thread_copy_to_buffer(server->send_buffer, message);
        i++;
    }
    
    printf("shutting down! this isnt pretty yet, but its ok :) \n");
    tcp_client_stop(client);
    tcp_client_data_free(client);
    
    tcp_server_stop(server);
    tcp_server_data_free(server);
    
    printf("goodbye!\n");
    return 0;
    
}