OneCompiler

Socket

167

// UDP Server

int s_sock;
s_sock = socket(AF_INET, SOCK_DGRAM, 0);

struct sockaddr_in server, other;
server.sin_family = AF_INET;
server.sin_port = htons(9001);
server.sin_addr.s_addr = INADDR_ANY;
socklen_t len;
len = sizeof(other);

bind(s_sock, (struct sockaddr *)&server, sizeof(server));

recvfrom(s_sock, lol, sizeof(lol), 0, (struct sockaddr *)&other, &len);

sendto(s_sock, xd, sizeof(xd), 0, (struct sockaddr *)&other, &len);

close(s_sock);

// UDP Client

int c_sock;
c_sock = socket(AF_INET, SOCK_DGRAM, 0);

struct sockaddr_in client;
client.sin_family = AF_INET;
client.sin_port = htons(9001);
client.sin_addr.s_addr = INADDR_ANY;
socklen_t len;
len = sizeof(client);

sendto(c_sock, lol, sizeof(lol), 0, (struct sockaddr *)client, &len);

recvfrom(c_sock, xd, sizeof(xd), 0, (struct sockaddr *)client, &len);

close(c_sock);

// TCP Server

int s_sock;
s_sock = socket(AF_INET, SOCK_STREAM, 0);

struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(9008);
server.sin_addr.s_addr = INADDR_ANY;
socklen_t len;
len = sizeof(server);

bind(s_sock, (struct sockaddr *)server, &len);

listen(s_sock, 5);

int c_sock;
c_sock = accept(s_sock, NULL, NULL);

read(c_sock, lol, sizeof(lol));

write(c_sock, xd, sizeof(xd));

close(s_sock);
close(c_sock);

// TCP CLient

int c_sock;
c_sock = socket(AF_INET, SOCK_STREAM, 0);

struct sockaddr_in client;
client.sin_family = AF_INET;
client.sin_port = htons(9008);
client.sin_addr_s.addr = INADDR_ANY;
socklen_t len;
len = sizeof(client);

connect(c_sock, (struct sockaddr *)client, sizeof(client));

read(c_sock, lol, sizeof(lol));

write(c_sock, xd, sizeof(xd));

close(c_sock);