TCP
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd != -1) {
printf("Success-socket, socket id is %d\n", sockfd);
struct sockaddr_in caddr;
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8825);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int c = connect(sockfd, (struct sockaddr *)&caddr, sizeof(caddr));
if (c < 0) {
printf("Failed-Connect\n");
} else {
printf("Success-Connect\n");
char a[1024] = "Hello";
send(sockfd, a, strlen(a) + 1, 0);
printf("String sent to the server: %s\n", a);
}
} else {
printf("Failed-Socket\n");
}
close(sockfd);
return 0;
}
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd != -1) {
printf("Success-socket, socket id is %d\n", sockfd);
struct sockaddr_in caddr;
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8825);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int c = connect(sockfd, (struct sockaddr *)&caddr, sizeof(caddr));
if (c < 0) {
printf("Failed-Connect\n");
} else {
printf("Success-Connect\n");
char a[1024];
recv(sockfd, a, sizeof(a), 0);
printf("String received from server: %s\n", a);
}
} else {
printf("Failed-Socket\n");
}
close(sockfd);
return 0;
}
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
void reverseString(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd != -1) {
printf("Success-Socket, socket id is %d\n", sockfd);
struct sockaddr_in saddr;
saddr.sin_family = AF_INET;
saddr.sin_port = htons(8825);
saddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int b = bind(sockfd, (struct sockaddr *)&saddr, sizeof(saddr));
if (b == 0) {
printf("Success-Bind\n");
int l = listen(sockfd, 5);
if (l == 0) {
printf("Success-Listen\n");
struct sockaddr_in caddr1, caddr2;
int clen1 = sizeof(caddr1);
int clen2 = sizeof(caddr2);
int isock1 = accept(sockfd, (struct sockaddr *)&caddr1, &clen1);
if (isock1 < 0) {
printf("Failed-Accept-Client1\n");
close(isock1);
} else {
printf("Success-Accept \n");
printf("Connected to Client1\n");
char a[100];
recv(isock1, a, sizeof(a), 0);
printf("Received string from client1: %s\n", a);
reverseString(a);
int isock2 = accept(sockfd, (struct sockaddr *)&caddr2, &clen2);
if (isock2 < 0) {
printf("Failed-Accept-Client2\n");
close(isock2);
} else {
printf("Success-Accept \n");
printf("Connected to Client2\n");
send(isock2, a, strlen(a) + 1, 0);
}
}
} else {
printf("Error listening;\n");
}
} else if (b == -1) {
printf("Failed-bind\n");
}
} else {
printf("Failed-socket\n");
}
close(sockfd);
return 0;
}
OUTPUT
Success-Socket,socket id is 3
Success-Bind
Success-Listen
Success-Accept
Connected to Client1
Received string from client1:Hello
Success-Accept
Connected to Client2
Success-Socket,socket id is 3
Success-Bind
Success-Listen
Success-Accept
Connected to Client1
Received string from client1:Hello
Success-Accept
Connected to Client2
t2.out
Success-socket,socket id is 3
Success-Connect
String received form server:olleH
UDP
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
void reverse_string(char *str) {
int i, len = strlen(str);
for(i = 0; i < len/2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
int sockfd;
struct sockaddr_in saddr, caddr;
char buffer[100];
socklen_t len = sizeof(caddr);
if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
printf("Error in creating socket\n");
return -1;
}
saddr.sin_family = AF_INET;
saddr.sin_port = htons(8080);
saddr.sin_addr.s_addr = INADDR_ANY;
if(bind(sockfd, (struct sockaddr *)&saddr, sizeof(saddr)) == -1) {
printf("Error in binding\n");
close(sockfd);
return -1;
}
printf("Server ready, waiting for message...\n");
if(recvfrom(sockfd, buffer, sizeof(buffer), 0, (struct sockaddr *)&caddr, &len) == -1) {
printf("Error in receiving message\n");
close(sockfd);
return -1;
}
printf("Received from client: %s\n", buffer);
reverse_string(buffer); // Reverse the received string
if(sendto(sockfd, buffer, strlen(buffer) + 1, 0, (struct sockaddr *)&caddr, len) == -1) {
printf("Error in sending reversed string\n");
close(sockfd);
return -1;
}
printf("Reversed string sent back to client.\n");
close(sockfd);
return 0;
}
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
int main()
{
int sockfd;
struct sockaddr_in caddr;
socklen_t addlen = sizeof(caddr);
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket\n");
close(sockfd);
return -1;
}
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8080);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
char str[]="Hello";
if(sendto(sockfd,str,sizeof(str),0,(struct sockaddr *)&caddr,addlen) == -1)
{
printf("Error in sending string to server\n");
close(sockfd);
return -1;
}
printf("String sent to server\n");
close(sockfd);
}
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
int main()
{
int sockfd;
struct sockaddr_in caddr;
socklen_t addlen = sizeof(caddr);
char str[100];
char ping[10];
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket\n");
close(sockfd);
return -1;
}
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8080);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
printf("Waiting for server\n");
if(sendto(sockfd,ping,sizeof(ping),0,(struct sockaddr *)&caddr,sizeof(caddr)) == -1)
{
printf("Error in sending details to server\n");
close(sockfd);
return -1;
}
if(recvfrom(sockfd,str,sizeof(str),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving string from server\n");
close(sockfd);
return -1;
}
printf("Reversed string : %s\n",str);
close(sockfd);
}
OUTPUT
Server ready, waiting for message...
Received from client: Hello
Reversed string sent back to client.
String sent to server
Waiting for server
Reversed string : olleH
TCP
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd != -1) {
printf("Success-Socket, socket id is %d\n", sockfd);
struct sockaddr_in saddr;
saddr.sin_family = AF_INET;
saddr.sin_port = htons(8825);
saddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int b = bind(sockfd, (struct sockaddr *)&saddr, sizeof(saddr));
if (b == 0) {
printf("Success-Bind\n");
int l = listen(sockfd, 5);
if (l == 0) {
printf("Success-Listen\n");
struct sockaddr_in caddr1, caddr2;
int clen1 = sizeof(caddr1);
int clen2 = sizeof(caddr2);
int isock1 = accept(sockfd, (struct sockaddr *)&caddr1, &clen1);
if (isock1 < 0) {
printf("Failed-Accept-Client1\n");
close(isock1);
} else {
printf("Success-Accept \n");
printf("Connected to Client1\n");
int n;
recv(isock1, &n, sizeof(n), 0);
printf("Received number from client1: %d\n", n);
int sq = n * n;
int isock2 = accept(sockfd, (struct sockaddr *)&caddr2, &clen2);
if (isock2 < 0) {
printf("Failed-Accept-Client2\n");
close(isock2);
} else {
printf("Success-Accept \n");
printf("Connected to Client2\n");
send(isock2, &sq, sizeof(sq), 0);
}
}
} else {
printf("Error listening;\n");
}
} else if (b == -1) {
printf("Failed-bind\n");
}
} else {
printf("Failed-socket\n");
}
close(sockfd);
return 0;
}
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd != -1) {
printf("Success-Socket, socket id is %d\n", sockfd);
struct sockaddr_in caddr;
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8825);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int c = connect(sockfd, (struct sockaddr *)&caddr, sizeof(caddr));
if (c < 0) {
printf("Failed-Connect\n");
} else {
printf("Success-Connect\n");
int a;
recv(sockfd, &a, sizeof(a), 0);
printf("Squared no received from server: %d\n", a);
}
} else {
printf("Failed-Socket\n");
}
close(sockfd);
return 0;
}
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
int main()
{
int sockfd;
struct sockaddr_in caddr;
socklen_t addlen = sizeof(caddr);
char str[100];
char ping[10];
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket\n");
close(sockfd);
return -1;
}
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8080);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
printf("Waiting for server\n");
if(sendto(sockfd,ping,sizeof(ping),0,(struct sockaddr *)&caddr,sizeof(caddr)) == -1)
{
printf("Error in sending details to server\n");
close(sockfd);
return -1;
}
if(recvfrom(sockfd,str,sizeof(str),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving string from server\n");
close(sockfd);
return -1;
}
printf("Reversed string : %s\n",str);
close(sockfd);
}
OUTPUT
Success-Socket,socket id is 3
Success-Bind
Success-Listen
Success-Accept
Connected to Client1
Received number from client1:0.00
Processed float to send to client2:0.00
Success-Accept
Connected to Client2
./2clien
t3.out
Success-socket,socket id is 3
Success-Connect
./2clien
t4.out
Success-socket,socket id is 3
Success-Connect
Sqared no received form server:0
UDP
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
int main()
{
int sockfd;
struct sockaddr_in saddr,caddr;
socklen_t addlen = sizeof(caddr);
char str[100];
char ping[10];
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket.\n");
close(sockfd);
return -1;
}
saddr.sin_family = AF_INET;
saddr.sin_port = htons(8080);
saddr.sin_addr.s_addr = inet_addr("127.0.0.1");
if(bind(sockfd,(struct sockaddr *)&saddr,sizeof(saddr)) == -1)
{
printf("Error in binding\n");
close(sockfd);
return -1;
}
int n;
printf("Waiting for client 1\n");
if(recvfrom(sockfd,&n,sizeof(n),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving string from client 1\n");
close(sockfd);
return -1;
}
printf("client 1 end\n");
printf("Received number from client1: %d\n", n);
int sq = n * n;
if(recvfrom(sockfd,ping,sizeof(ping),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving details of client 2\n");
close(sockfd);
return -1;
}
if(sendto(sockfd,&sq,sizeof(sq),0,(struct sockaddr *)&caddr,addlen) == -1)
{
printf("Error in sending string to client 2\n");
close(sockfd);
return -1;
}
close(sockfd);
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
int main()
{
int sockfd;
struct sockaddr_in caddr;
socklen_t addlen = sizeof(caddr);
char str[100];
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket\n");
close(sockfd);
return -1;
}
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8080);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int a = 5;
if(sendto(sockfd,&a,sizeof(a),0,(struct sockaddr *)&caddr,addlen) == -1)
{
printf("Error in sending string to server\n");
close(sockfd);
return -1;
}
printf("No sent to server\n");
close(sockfd);
}
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
int main()
{
int sockfd;
struct sockaddr_in caddr;
socklen_t addlen = sizeof(caddr);
char str[100];
char ping[10];
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket\n");
close(sockfd);
return -1;
}
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8080);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
printf("Waiting for server\n");
if(sendto(sockfd,ping,sizeof(ping),0,(struct sockaddr *)&caddr,sizeof(caddr)) == -1)
{
printf("Error in sending details to server\n");
close(sockfd);
return -1;
}
int a;
if(recvfrom(sockfd,&a,sizeof(a),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving string from server\n");
close(sockfd);
return -1;
}
printf("Squared no received from server: %d\n", a);
close(sockfd);
}
OUTPUT
./2userver2.out
Waiting for client 1
client 1 end
Received number from client1: 5
/2uclient3.out
No sent to server
./2uclie
nt4.out
Waiting for server
Squared no received from server: 25
TCP
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd != -1) {
printf("Success-Socket, socket id is %d\n", sockfd);
struct sockaddr_in saddr;
saddr.sin_family = AF_INET;
saddr.sin_port = htons(8825);
saddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int b = bind(sockfd, (struct sockaddr *)&saddr, sizeof(saddr));
if (b == 0) {
printf("Success-Bind\n");
int l = listen(sockfd, 5);
if (l == 0) {
printf("Success-Listen\n");
struct sockaddr_in caddr1, caddr2;
int clen1 = sizeof(caddr1);
int clen2 = sizeof(caddr2);
int isock1 = accept(sockfd, (struct sockaddr *)&caddr1, &clen1);
if (isock1 < 0) {
printf("Failed-Accept-Client1\n");
close(isock1);
} else {
printf("Success-Accept \n");
printf("Connected to Client1\n");
float n;
recv(isock1, &n, sizeof(n), 0);
printf("Received number from client1: %.2f\n", n);
float a = pow(n, 1.5);
printf("Processed float to send to client2: %.2f\n", a);
int isock2 = accept(sockfd, (struct sockaddr *)&caddr2, &clen2);
if (isock2 < 0) {
printf("Failed-Accept-Client2\n");
close(isock2);
} else {
printf("Success-Accept \n");
printf("Connected to Client2\n");
send(isock2, &a, sizeof(a), 0);
}
}
} else {
printf("Error listening;\n");
}
} else if (b == -1) {
printf("Failed-bind\n");
}
} else {
printf("Failed-socket\n");
}
close(sockfd);
return 0;
}
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd != -1) {
printf("Success-Socket, socket id is %d\n", sockfd);
struct sockaddr_in caddr;
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8825);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int c = connect(sockfd, (struct sockaddr *)&caddr, sizeof(caddr));
if (c < 0) {
printf("Failed-Connect\n");
} else {
printf("Success-Connect\n");
float a = 2.3456;
send(sockfd, &a, sizeof(a), 0);
}
} else {
printf("Failed-Socket\n");
}
close(sockfd);
return 0;
}
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd != -1) {
printf("Success-Socket, socket id is %d\n", sockfd);
struct sockaddr_in caddr;
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8825);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int c = connect(sockfd, (struct sockaddr *)&caddr, sizeof(caddr));
if (c < 0) {
printf("Failed-Connect\n");
} else {
printf("Success-Connect\n");
float a;
recv(sockfd, &a, sizeof(a), 0);
printf("Received float from server: %.2f\n", a);
}
} else {
printf("Failed-Socket\n");
}
close(sockfd);
return 0;
}
OUTPUT
./2serve
r3.out
Success-Socket, socket id is 3
Success-Bind
Success-Listen
Success-Accept
Connected to Client1
Received number from client1: 2.35
Processed float to send to client2: 3.59
Success-Accept
Connected to Client2
./2client5.out
Success-socket,socket id is 3
Success-Connect
./2client6.out
Success-socket,socket id is 3
Success-Connect
Sqared no received from server:3.59
UDP
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
#include <math.h>
int main()
{
int sockfd;
struct sockaddr_in saddr,caddr;
socklen_t addlen = sizeof(caddr);
char str[100];
char ping[10];
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket.\n");
close(sockfd);
return -1;
}
saddr.sin_family = AF_INET;
saddr.sin_port = htons(8080);
saddr.sin_addr.s_addr = inet_addr("127.0.0.1");
if(bind(sockfd,(struct sockaddr *)&saddr,sizeof(saddr)) == -1)
{
printf("Error in binding\n");
close(sockfd);
return -1;
}
float n;
printf("Waiting for client 1\n");
if(recvfrom(sockfd,&n,sizeof(n),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving string from client 1\n");
close(sockfd);
return -1;
}
printf("client 1 end\n");
printf("Received number from client1: %.2f\n", n);
float a = pow(n, 1.5);
if(recvfrom(sockfd,ping,sizeof(ping),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving details of client 2\n");
close(sockfd);
return -1;
}
if(sendto(sockfd,&a,sizeof(a),0,(struct sockaddr *)&caddr,addlen) == -1)
{
printf("Error in sending string to client 2\n");
close(sockfd);
return -1;
}
close(sockfd);
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
int main()
{
int sockfd;
struct sockaddr_in caddr;
socklen_t addlen = sizeof(caddr);
char str[100];
char ping[10];
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket\n");
close(sockfd);
return -1;
}
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8080);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
printf("Waiting for server\n");
if(sendto(sockfd,ping,sizeof(ping),0,(struct sockaddr *)&caddr,sizeof(caddr)) == -1)
{
printf("Error in sending details to server\n");
close(sockfd);
return -1;
}
int a;
if(recvfrom(sockfd,&a,sizeof(a),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving string from server\n");
close(sockfd);
return -1;
}
printf("Squared no received from server: %d\n", a);
close(sockfd);
}
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
int main()
{
int sockfd;
struct sockaddr_in caddr;
socklen_t addlen = sizeof(caddr);
char str[100];
char ping[10];
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
printf("Error in creating socket\n");
close(sockfd);
return -1;
}
caddr.sin_family = AF_INET;
caddr.sin_port = htons(8080);
caddr.sin_addr.s_addr = inet_addr("127.0.0.1");
printf("Waiting for server\n");
if(sendto(sockfd,ping,sizeof(ping),0,(struct sockaddr *)&caddr,sizeof(caddr)) == -1)
{
printf("Error in sending details to server\n");
close(sockfd);
return -1;
}
float a;
if(recvfrom(sockfd,&a,sizeof(a),0,(struct sockaddr *)&caddr,&addlen) == -1)
{
printf("Error in receiving string from server\n");
close(sockfd);
return -1;
}
printf("Processed no received from server: %.2f\n", a);
close(sockfd);
}
OUTPUT
./2userv
er3.out
Waiting for client 1
client 1 end
Received number from client1: 2.35
./2uclient5.out
No sent to server
./2uclient6.out
Waiting for server
Processed no received from server: 3.59