int create_sock(prot_params_t param_srv, char * hostname){
	struct sockaddr_in sa;
	int sockfd;
	if(param_srv.type == sock_tcp){
		sockfd=h_socket(AF_INET, SOCK_STREAM);
		adr_socket(param_srv.port, hostname, "tcp", &sa ,SERVEUR);
		h_bind(sockfd, &sa);
		return sockfd;
	}else if(param_srv.type==sock_udp){
		sockfd=h_socket(AF_INET, SOCK_DGRAM);
		adr_socket(param_srv.port, hostname, "udp", &sa, SERVEUR);
		h_bind(sockfd, &sa);
		return sockfd;
	}
	return -1;
}
Example #2
0
static void test_wrong_bit_length(void) {
    HParseResult *r;
    HParser *p;

    p = h_right(h_ch('a'), h_ch('b'));
    r = h_parse(p, (const uint8_t *)"ab", 2);
    g_check_cmp_int64(r->bit_length, ==, 16);
    h_parse_result_free(r);

    p = h_bind(h_ch('a'), k_test_wrong_bit_length, NULL);
    r = h_parse(p, (const uint8_t *)"ab", 2);
    g_check_cmp_int64(r->bit_length, ==, 16);
    h_parse_result_free(r);
}
void serveur_appli(char *service, char *protocole)

/* Procedure correspondant au traitemnt du serveur de votre application */

{

/* A completer ... */
struct sockaddr_in adr_interne;
int taille=100, lg_message=100, num_socket;
char *message;
struct sockaddr_in adr_distante;
message=(char*)malloc(taille* sizeof(char));
num_socket=h_socket(AF_INET,SOCK_DGRAM);
adr_socket(service,"localhost","udp",&adr_interne, SERVEUR);
h_bind(num_socket,&adr_interne);
for(;;)
 {
  lg_message=h_recvfrom(num_socket, message, taille, &adr_distante); 
		  printf("%d %s\n",lg_message,message);
  h_sendto(num_socket, message, lg_message, &adr_distante);
 }
h_close(num_socket);
}