/** * @brief AsyncServer框架要求实现的接口之一。 * */ extern "C" int init_service(int isparent) { if (!isparent) { setup_timer(); init_all_timer_type(); init_funcs(); const char *udp_ip = get_server_ip(); uint16_t udp_port = get_server_port(); bind_udp_socket(udp_ip, udp_port); g_dirty_word = new Cdirty_word(); if (!g_dirty_word->is_inited) return -1; regist_timers(); if (load_xmlconf("../conf/GameSvr.xml", load_game_svr_config) == -1) return -1; max_msg_count = config_get_intval("max_msg_count", 1024); /* if(g_seg_mgr.init("../data/")) { BOOT_LOG(-1,"online udp listen:%s:%d %u",udp_ip, udp_port, max_msg_count); } */ BOOT_LOG(0,"online udp listen:%s:%d %u",udp_ip, udp_port, max_msg_count); } return 0; }
/** * @brief AsyncServer框架要求实现的接口之一。 * */ extern "C" int init_service(int isparent) { if (!isparent) { setup_timer(); init_all_timer_type(); init_funcs(); const char *udp_ip = get_server_ip(); uint16_t udp_port = get_server_port(); bind_udp_socket(udp_ip, udp_port); regist_timers(); if (load_xmlconf("../conf/GameSvr.xml", load_game_svr_config) == -1) return -1; max_msg_count = config_get_intval("max_msg_count", 1024); BOOT_LOG(0,"online udp listen:%s:%d %u",udp_ip, udp_port, max_msg_count); } return 0; }
int destiny_socket_bind(int s, sockaddr6_t *addr, int addrlen) { if (exists_socket(s)) { socket_t *current_socket = &get_socket(s)->socket_values; switch (current_socket->domain) { case (PF_INET): { /* Not provided */ return -1; break; } case (PF_INET6): { switch (current_socket->type) { /* TCP */ case (SOCK_STREAM): { if ((current_socket->protocol == 0) || (current_socket->protocol == IPPROTO_TCP)) { return bind_tcp_socket(s, addr, addrlen, thread_getpid()); break; } else { return -1; break; } break; } /* UDP */ case (SOCK_DGRAM): { if ((current_socket->protocol == 0) || (current_socket->protocol == IPPROTO_UDP)) { return bind_udp_socket(s, addr, addrlen, thread_getpid()); break; } else { return -1; break; } break; } case (SOCK_SEQPACKET): { /* not provided */ return -1; break; } case (SOCK_RAW): { /* not provided */ return -1; break; } default: { return -1; break; } } break; } case (PF_UNIX): { /* Not provided */ return -1; break; } } } else { printf("SOCKET DOES NOT EXIST!\n"); return -1; } return -1; }