src/network.c

changeset 22
41bbfd4d17a3
parent 7
41468077b5bb
child 34
c4d4b8a8f902
equal deleted inserted replaced
21:2e5846019b4f 22:41bbfd4d17a3
111 } 111 }
112 112
113 return EXIT_SUCCESS; 113 return EXIT_SUCCESS;
114 } 114 }
115 115
116 void net_send_code(int socket, uint32_t code) { 116 void net_send_code(int socket, uint8_t code) {
117 code = htonl(code); 117 send(socket, &code, sizeof(uint8_t), 0);
118 send(socket, &code, sizeof(uint32_t), 0);
119 } 118 }
120 119
121 void net_send_data(int socket, void *data, size_t len) { 120 void net_send_data(int socket, uint8_t code, void *data, size_t len) {
122 send(socket, data, len, 0); 121 uint8_t pkg[len+1];
122 pkg[0] = code;
123 memcpy(pkg+1, data, len);
124 send(socket, pkg, len+1, 0);
123 } 125 }
124 126
125 uint32_t net_recieve_code(int socket) { 127 uint8_t net_recieve_code(int socket) {
126 uint32_t code; 128 uint8_t code;
127 recv(socket, &code, sizeof(uint32_t), 0); 129 recv(socket, &code, sizeof(uint8_t), 0);
128 return ntohl(code); 130 return code;
129 } 131 }
130 132
131 void net_recieve_data(int socket, void *data, size_t len) { 133 void net_recieve_data(int socket, void *data, size_t len) {
132 recv(socket, data, len, 0); 134 recv(socket, data, len, 0);
133 } 135 }

mercurial