2 * $Source: /cvs/cvsroot/d2x/main/ipserver.cpp,v $
5 * $Date: 2002-02-06 09:22:42 $
7 * ipserver.cpp - udp/ip dedicated gamelist server
8 * added 2000/02/07 Matt Mueller
10 * $Log: not supported by cvs2svn $
19 #include <sys/types.h>
31 unsigned char ipx_MyAddress[10];
33 int ipx_general_PacketReady(int fd) {
39 tv.tv_usec = 50000;//50 ms
41 if (select(fd + 1, &set, NULL, NULL, &tv) > 0)
47 void ip_server_mainloop(void){
48 struct ipx_recv_data rd;
54 while (arch_ip_PacketReady()) {
55 if ((size = arch_ip_recvfrom(buf, 1500, &rd)) > 4) {
56 memcpy(&fromaddr,rd.src_node,sizeof(ip_addr*));
57 if (memcmp(buf,D1Xcfgid,4)==0){
58 ip_receive_cfg((ubyte*)buf+4,size-4,*fromaddr);
62 peer_list.handshake_frame();
63 // curtime=timer_get_approx_seconds();
67 void int_handler(int s){
71 int main(int argc,char **argv){
73 signal(SIGINT,int_handler);//make ctrl-c do cleanup stuff.
76 if ( FindArg( "-showmeminfo" ) )
77 show_mem_info = 1; // Make memory statistics show
79 myport=UDP_SERV_BASEPORT;
80 if(arch_ip_open_socket(myport))
82 atexit(arch_ip_close_socket);
83 if (ipx_ip_GetMyAddress())