wip
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
|
||||
typedef struct {
|
||||
size_t size;
|
||||
size_t used;
|
||||
uint8_t *data;
|
||||
} buffer_t;
|
||||
|
||||
typedef struct client_t client_t;
|
||||
struct client_t {
|
||||
client_t *prev;
|
||||
client_t *next;
|
||||
microtcp_socket_t *socket;
|
||||
buffer_t input;
|
||||
buffer_t output;
|
||||
};
|
||||
|
||||
int main(void)
|
||||
{
|
||||
microtcp_t *mtcp = microtcp_create();
|
||||
|
||||
microtcp_socket_t *server = microtcp_open(mtcp, 80);
|
||||
|
||||
microtcp_queue_t *queue = microtcp_queue_create(mtcp);
|
||||
microtcp_queue_register(queue, server, NULL, MICROTCP_EVENT_ACCEPT);
|
||||
while (1) {
|
||||
microtcp_event_t event = microtcp_queue_next(queue, no_block);
|
||||
switch (event.type) {
|
||||
|
||||
case MICROTCP_EVENT_NONE:
|
||||
break;
|
||||
|
||||
case MICROTCP_EVENT_READ:
|
||||
break;
|
||||
|
||||
case MICROTCP_EVENT_RECV:
|
||||
{
|
||||
microtcp_socket_t *client_socket = event.socket;
|
||||
microtcp_recv(client_socket, );
|
||||
}
|
||||
break;
|
||||
|
||||
case MICROTCP_EVENT_ACCEPT:
|
||||
{
|
||||
microtcp_socket_t *client_socket = microtcp_accept(event.socket, true);
|
||||
microtcp_queue_register(queue, client_socket, NULL, MICROTCP_EVENT_SEND | MICROTCP_EVENT_RECV);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
microtcp_queue_destroy(queue);
|
||||
|
||||
microtcp_destroy(mtcp);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user