Socket
// 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);