| /* | |
| * Copyright 2013 The Emscripten Authors. All rights reserved. | |
| * Emscripten is available under two separate licenses, the MIT license and the | |
| * University of Illinois/NCSA Open Source License. Both these licenses can be | |
| * found in the LICENSE file. | |
| */ | |
| void main_loop() { | |
| } | |
| int main() { | |
| struct sockaddr_in addr; | |
| int res; | |
| int serverfd; | |
| // create the socket | |
| serverfd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); | |
| if (serverfd == -1) { | |
| perror("cannot create socket"); | |
| exit(EXIT_FAILURE); | |
| } | |
| fcntl(serverfd, F_SETFL, O_NONBLOCK); | |
| // bind to the supplied port | |
| memset(&addr, 0, sizeof(addr)); | |
| addr.sin_family = AF_INET; | |
| addr.sin_port = htons(SOCKK); | |
| if (inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr) != 1) { | |
| perror("inet_pton failed"); | |
| exit(EXIT_FAILURE); | |
| } | |
| res = bind(serverfd, (struct sockaddr *)&addr, sizeof(addr)); | |
| if (res == -1) { | |
| perror("bind failed"); | |
| exit(EXIT_FAILURE); | |
| } | |
| close(serverfd); | |
| emscripten_set_main_loop(main_loop, 60, 0); | |
| while (1) main_loop(); sleep(1); | |
| return EXIT_SUCCESS; | |
| } | |