summaryrefslogtreecommitdiff
path: root/src/udp.c
diff options
context:
space:
mode:
authororoborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-03-30 16:51:15 +0000
committeroroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-03-30 16:51:15 +0000
commit617ba439aab5f1798eb02618dfcfbed80a5baf28 (patch)
tree13df71c96bd302f066406644f20ddd0e58490ded /src/udp.c
parentb4db5fe1a7c0145c2437cb2f117a2ae59d4e8025 (diff)
- polozky casovaca sa nachadzaju v zozname list_t , ktory he sucastou arena_t
- pri bonuse neviditelnost sa neda podvadzat modifikovanim clienta - o vystreli sa stara server, ich suradnicu a dalsie info posiela server clientom - parametre sa pisu vo forme --env=val git-svn-id: http://opensvn.csie.org/tuxanci_ng@38 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/udp.c')
-rw-r--r--src/udp.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/udp.c b/src/udp.c
index e3dc6ff..af254de 100644
--- a/src/udp.c
+++ b/src/udp.c
@@ -37,7 +37,7 @@ void destroySockUdp(sock_udp_t *p)
free(p);
}
-sock_udp_t* bindUdpSocket(int port)
+sock_udp_t* bindUdpSocket(char *address, int port)
{
sock_udp_t *new;
@@ -56,7 +56,7 @@ sock_udp_t* bindUdpSocket(int port)
new->sockAddr.sin_family = AF_INET;
new->sockAddr.sin_port = htons(port);
- new->sockAddr.sin_addr.s_addr = INADDR_ANY;
+ new->sockAddr.sin_addr.s_addr = inet_addr(address);
if( bind(new->sock, (struct sockaddr *)&(new->sockAddr), sizeof(new->sockAddr)) < 0 )
{
@@ -122,7 +122,11 @@ int writeUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len)
int size;
#ifdef DEBUG_LOST_PACKET
- if( rand() % DEBUG_LOST_PACKET == 0 )return size;
+ if( rand() % DEBUG_LOST_PACKET == 0 )
+ {
+ printf("debug lost packet %s\n", address);
+ return size;
+ }
#endif
addrlen = sizeof(src->sockAddr);
@@ -197,6 +201,7 @@ static int myWait(sock_udp_t *p)
return 0;
}
+#if 0
int test_udp_main(int argc, char *argv[])
{
sock_udp_t *sock;
@@ -238,3 +243,5 @@ int test_udp_main(int argc, char *argv[])
return 0;
}
+#endif
+