simpler socket api. Now the blocking of functions and error codes aren't function parameters but attributes of the socket object with their respective getters and setters
This commit is contained in:
+11
-9
@@ -3,7 +3,6 @@
|
||||
|
||||
int main(void)
|
||||
{
|
||||
microtcp_errcode_t err;
|
||||
microtcp_t *mtcp = microtcp_create("10.0.0.5", "10.0.0.4", NULL, NULL);
|
||||
if (mtcp == NULL) {
|
||||
fprintf(stderr, "Error: Couldn't create MicroTCP instance\n");
|
||||
@@ -11,24 +10,27 @@ int main(void)
|
||||
}
|
||||
|
||||
uint16_t port = 8081;
|
||||
microtcp_socket_t *server = microtcp_open(mtcp, port, &err);
|
||||
microtcp_socket_t *server = microtcp_open(mtcp, port);
|
||||
if (server == NULL) {
|
||||
fprintf(stderr, "Error: %s\n", microtcp_strerror(err));
|
||||
fprintf(stderr, "Error: %s\n", microtcp_strerror(microtcp_get_error(mtcp)));
|
||||
microtcp_destroy(mtcp);
|
||||
return -1;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
microtcp_socket_t *client = microtcp_accept(server, false, &err);
|
||||
|
||||
microtcp_socket_t *client = microtcp_accept(server);
|
||||
if (client == NULL) {
|
||||
fprintf(stderr, "Error: %s\n", microtcp_strerror(err));
|
||||
fprintf(stderr, "Error: %s\n", microtcp_strerror(microtcp_get_socket_error(server)));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
char buffer[1024];
|
||||
size_t num = microtcp_recv(client, buffer, sizeof(buffer), false, NULL);
|
||||
microtcp_send(client, "echo: ", 6, false, NULL);
|
||||
microtcp_send(client, buffer, num, false, NULL);
|
||||
int num = microtcp_recv(client, buffer, sizeof(buffer));
|
||||
if (num > 0) {
|
||||
microtcp_send(client, "echo: ", 6);
|
||||
microtcp_send(client, buffer, num);
|
||||
}
|
||||
microtcp_close(client);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user