diff options
| -rw-r--r-- | config.h | 2 | ||||
| -rw-r--r-- | server.conf | 2 | ||||
| -rw-r--r-- | src/server.c | 17 |
3 files changed, 16 insertions, 5 deletions
@@ -6,7 +6,7 @@ #define DEBUG_CLIENT_RECV */ -#define TUXANCI_NG_VERSION "svn70" +#define TUXANCI_NG_VERSION "svn71" #define DESTDIR "/usr/local/" #define SUPPORT_NET_UNIX_UDP diff --git a/server.conf b/server.conf index b9f080b..dbbf6a8 100644 --- a/server.conf +++ b/server.conf @@ -4,5 +4,3 @@ PORTv4 2200 PORTv6 2206 MAX_CLIENTS 32 ARENA FAGN - - diff --git a/src/server.c b/src/server.c index 1f42774..4575381 100644 --- a/src/server.c +++ b/src/server.c @@ -304,8 +304,10 @@ void destroyClient(client_t *p) assert( p != NULL ); +#ifdef SUPPORT_NET_UNIX_UDP getSockUdpIp(p->socket_udp, str_ip, STR_IP_SIZE); printf("close connect %s %d\n", str_ip, getSockUdpPort(p->socket_udp) ); +#endif #ifdef SUPPORT_NET_UNIX_UDP closeUdpSocket(p->socket_udp); @@ -361,12 +363,23 @@ void sendClient(client_t *p, char *msg) #endif #ifdef SUPPORT_NET_UNIX_UDP - if( p->socket_udp->proto == PROTO_UDPv4 ) + if( p->socket_udp->proto == PROTO_UDPv4 && + sock_server_udp != NULL && + sock_server_udp->proto == PROTO_UDPv4 ) + { + ret = writeUdpSocket(sock_server_udp, p->socket_udp, msg, strlen(msg)); + } + + if( p->socket_udp->proto == PROTO_UDPv6 && + sock_server_udp != NULL && + sock_server_udp->proto == PROTO_UDPv6 ) { ret = writeUdpSocket(sock_server_udp, p->socket_udp, msg, strlen(msg)); } - if( p->socket_udp->proto == PROTO_UDPv6 ) + if( p->socket_udp->proto == PROTO_UDPv6 && + sock_server_udp_second != NULL && + sock_server_udp_second->proto == PROTO_UDPv6 ) { ret = writeUdpSocket(sock_server_udp_second, p->socket_udp, msg, strlen(msg)); } |