120 { |
120 { |
121 int socket_ipv6, socket_ipv4; |
121 int socket_ipv6, socket_ipv4; |
122 fd_set listen_sockets; |
122 fd_set listen_sockets; |
123 struct timeval wait_time; |
123 struct timeval wait_time; |
124 int result; |
124 int result; |
|
125 int size; |
125 int high_socket; |
126 int high_socket; |
126 char message[MESSAGE_LENGTH+1]; |
127 char message[MESSAGE_LENGTH+1]; |
127 |
128 |
128 |
129 |
129 socket_ipv4 = listen_ipv4(port); |
130 socket_ipv4 = listen_ipv4(port); |
163 } |
164 } |
164 |
165 |
165 /* Algun FD té dades... */ |
166 /* Algun FD té dades... */ |
166 if (FD_ISSET(socket_ipv4, &listen_sockets)) |
167 if (FD_ISSET(socket_ipv4, &listen_sockets)) |
167 { |
168 { |
168 recv(socket_ipv4, message, MESSAGE_LENGTH, 0); |
169 size = recv(socket_ipv4, message, MESSAGE_LENGTH, 0); |
169 process_message(message); |
170 process_message(message); |
170 /* Debug */ |
171 /* Debug */ |
171 if(!strcmp(message,"close")) |
172 if(!strcmp(message,"close")) |
172 break; |
173 break; |
|
174 write(1, message, size); |
173 } |
175 } |
174 |
176 |
175 if (ipv6enabled && FD_ISSET(socket_ipv6, &listen_sockets)) |
177 if (ipv6enabled && FD_ISSET(socket_ipv6, &listen_sockets)) |
176 { |
178 { |
177 recv(socket_ipv6, message, MESSAGE_LENGTH, 0); |
179 size = recv(socket_ipv6, message, MESSAGE_LENGTH, 0); |
178 process_message(message); |
180 process_message(message); |
179 /* Debug */ |
181 /* Debug */ |
180 if(!strcmp(message,"close")) |
182 if(!strcmp(message,"close")) |
181 break; |
183 break; |
|
184 write(1, message, size); |
182 } |
185 } |
183 } |
186 } |
184 |
187 |
185 /* Closing sockets at the end */ |
188 /* Closing sockets at the end */ |
186 close(socket_ipv4); |
189 close(socket_ipv4); |