Deleted example
This commit is contained in:
@@ -1,95 +0,0 @@
|
|||||||
#include <assert.h>
|
|
||||||
|
|
||||||
#define SOCK_IMPLEMENTATION
|
|
||||||
#include "sock.h"
|
|
||||||
|
|
||||||
void send_len(Sock *s, const void *buf, size_t size)
|
|
||||||
{
|
|
||||||
bool ok = true;
|
|
||||||
|
|
||||||
// First send size of msg
|
|
||||||
ok = sock_send_all(s, &size, sizeof(size));
|
|
||||||
assert(ok);
|
|
||||||
|
|
||||||
// Then send msg
|
|
||||||
ok = sock_send_all(s, buf, size);
|
|
||||||
assert(ok);
|
|
||||||
}
|
|
||||||
|
|
||||||
void server()
|
|
||||||
{
|
|
||||||
bool ok = true;
|
|
||||||
|
|
||||||
Sock *server = sock_create(SOCK_IPV4, SOCK_TCP);
|
|
||||||
assert(server != NULL);
|
|
||||||
|
|
||||||
ok = sock_bind(server, sock_addr("0.0.0.0", 6969));
|
|
||||||
assert(ok);
|
|
||||||
|
|
||||||
ok = sock_listen(server);
|
|
||||||
assert(ok);
|
|
||||||
|
|
||||||
Sock *client = sock_accept(server);
|
|
||||||
assert(client != NULL);
|
|
||||||
|
|
||||||
ssize_t n = 0;
|
|
||||||
|
|
||||||
size_t len = 0;
|
|
||||||
n = sock_recv_all(client, &len, sizeof(len));
|
|
||||||
assert(n >= 0);
|
|
||||||
|
|
||||||
char buf[len + 1];
|
|
||||||
memset(buf, 0, len + 1);
|
|
||||||
|
|
||||||
n = sock_recv_all(client, buf, len);
|
|
||||||
assert(n >= 0);
|
|
||||||
printf("%.*s\n", (int)len, buf);
|
|
||||||
|
|
||||||
const char *msg = "Hello from Server";
|
|
||||||
send_len(client, msg, strlen(msg));
|
|
||||||
|
|
||||||
sock_close(client);
|
|
||||||
sock_close(server);
|
|
||||||
}
|
|
||||||
|
|
||||||
void client()
|
|
||||||
{
|
|
||||||
bool ok = true;
|
|
||||||
|
|
||||||
Sock *sock = sock_create(SOCK_IPV4, SOCK_TCP);
|
|
||||||
assert(sock != NULL);
|
|
||||||
|
|
||||||
ok = sock_connect(sock, sock_addr("127.0.0.1", 6969));
|
|
||||||
assert(ok);
|
|
||||||
|
|
||||||
const char *msg = "Hello from Client";
|
|
||||||
send_len(sock, msg, strlen(msg));
|
|
||||||
|
|
||||||
ssize_t n = 0;
|
|
||||||
|
|
||||||
size_t len = 0;
|
|
||||||
n = sock_recv_all(sock, &len, sizeof(len));
|
|
||||||
assert(n >= 0);
|
|
||||||
|
|
||||||
char buf[len + 1];
|
|
||||||
memset(buf, 0, len + 1);
|
|
||||||
|
|
||||||
n = sock_recv_all(sock, buf, len);
|
|
||||||
assert(n >= 0);
|
|
||||||
printf("%.*s\n", (int)len, buf);
|
|
||||||
|
|
||||||
sock_close(sock);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
(void) argv;
|
|
||||||
|
|
||||||
if (argc > 1) {
|
|
||||||
server();
|
|
||||||
} else {
|
|
||||||
client();
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user