src/client.c

changeset 34
c4d4b8a8f902
parent 7
41468077b5bb
child 51
84f2e380a434
equal deleted inserted replaced
33:866025982aa9 34:c4d4b8a8f902
32 #include "game.h" 32 #include "game.h"
33 #include <ncurses.h> 33 #include <ncurses.h>
34 34
35 static int client_connect(Server *server, char *host, char *port) { 35 static int client_connect(Server *server, char *host, char *port) {
36 if (net_find(server, host, port)) { 36 if (net_find(server, host, port)) {
37 fprintf(stderr, "Can't find server\n"); 37 addstr("Can't find server");
38 return 1; 38 return 1;
39 } 39 }
40 40
41 if (net_connect(server)) { 41 if (net_connect(server)) {
42 perror("Can't connect to server"); 42 addstr("Can't connect to server");
43 return 1; 43 return 1;
44 } 44 }
45 45
46 return 0; 46 return 0;
47 } 47 }
48 48
49 static int client_handshake(Server *server) { 49 static int client_handshake(Server *server) {
50 if (net_recieve_code(server->fd) != NETCODE_VERSION) { 50 if (net_recieve_code(server->fd) != NETCODE_VERSION) {
51 fprintf(stderr, "Server uses an incompatible software version.\n"); 51 addstr("Server uses an incompatible software version.");
52 return 1; 52 return 1;
53 } else { 53 } else {
54 net_send_code(server->fd, NETCODE_VERSION); 54 net_send_code(server->fd, NETCODE_VERSION);
55 } 55 }
56 56
82 game_start(settings, server.fd); 82 game_start(settings, server.fd);
83 } else { 83 } else {
84 net_send_code(server.fd, NETCODE_DECLINE); 84 net_send_code(server.fd, NETCODE_DECLINE);
85 } 85 }
86 } else { 86 } else {
87 fprintf(stderr, "Server sent invalid gameinfo.\n"); 87 addstr("Server sent invalid gameinfo.");
88 net_destroy(&server); 88 net_destroy(&server);
89 return EXIT_FAILURE; 89 return EXIT_FAILURE;
90 } 90 }
91 91
92 net_destroy(&server); 92 net_destroy(&server);

mercurial