Socket Programmin
Socket Programmin
UDP_Time
SERVER
Code:-
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<time.h>
time_t ticks;
int main()
{
struct sockaddr_in serv_addr, cli_addr;
bzero(&serv_addr, sizeof(serv_addr));
exit(1);
{
printf("\n SERVER ERROR: Cannot Bind\n");
close(skfd);
exit(1);
for( ; ; )
cli_addr_len = sizeof(cli_addr);
&cli_addr_len)) < 0)
close(skfd);
exit(1);
buff[r] = '\0';
ticks = time(NULL);
cli_addr_len)) < 0)
close(skfd);
exit(1);
}//for ends
}//main ends
CLIENT
Code:-
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<time.h>
time_t ticks;
int main()
{
struct sockaddr_in serv_addr;
bzero(&serv_addr, sizeof(serv_addr));
/*creating socket*/
exit(1);
sizeof(serv_addr))) < 0)
{
close(skfd);
exit(1);
serv_addr_len = sizeof(serv_addr);
&serv_addr_len)) < 0)
close(skfd);
exit(1);
rbuff[r] = ‘\0’;
close(skfd);
exit(1);
Output:
Q2. TCP_Echo
Server
Code:
#include<stdio.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
struct sockddr_in serv_addr, cli_addr;
int listenfd, connfd r, w, cli_aadr_len, val;
unsigned short serv_port= 25020; /* port number to be used by the
server*/
char serv_ip [] = “127.0.0.1”; /* server’s IP-address */
char buff [128]; /* buffer for sending and receiving messages*/
int main()
{
/* initializing server socket address structure with zero values
*/
/*creating socket*/
exit(1);
close(listenfd);
exit(1);
if((listen(listenfd,5)) < 0)
close(listenfd);
exit(1);
cli_addr_len = sizeof(cli_addr);
for(; ;)
close(listenfd);
exit(1);
buff[r] = ‘\0’;
else
} /* for ends */
} /* main ends */
CLIENT
Code:-
#include<stdio.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
struct sockddr_in serv_addr;
int skfd, r, w;
unsigned short serv_port= 25020; /*port number used by the server*/
char serv_ip[]= “127.0.0.1”; /*server’s IP-address*/
char rbuff [128]; /*buffer for receiving messages*/
char sbuff [128] = “HELLO SERVER”; /*buffer for sending messages*/
int main ()
{
/*initializing server socket address structure with zero values*/
bzero(&serv_addr, sizeof(serv_addr));
/*creating socket*/
exit(1);
close(skfd);
exit(1);
close(skfd);
exit(1);
else
{
rbuff[r] = ‘\0’;
close(skfd);
exit(1);
} /*main ends */
Output:
Q3. UDP_Echo
SERVER
Code:-
#include<stdio.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<unistd.h>
#include<stdlib.h>
int main() {
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(serv_port);
inet_aton(serv_ip, &serv_addr.sin_addr);
printf("\n SERVER: Listening for clients… Press Cntrl + C to stop echo server. \n");
for (;;) {
cli_addr_len = sizeof(cli_addr);
r = recvfrom(sockfd, buff, 256, 0, (struct sockaddr*)&cli_addr, &cli_addr_len);
if (r < 0) {
printf("\n SERVER ERROR: Cannot receive message from client. \n");
continue;
}
buff[r] = '\0';
printf("\n SERVER: Received message '%s' from %s\n", buff, inet_ntoa(cli_addr.sin_addr));
close(sockfd);
return 0;
}
CLIENT
Code:-
#include<stdio.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<unistd.h>
#include<stdlib.h>
int main() {
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(serv_port);
inet_aton(serv_ip, &serv_addr.sin_addr);
serv_addr_len = sizeof(serv_addr);
close(skfd);
return 0;
}
Output:
Q4. TCP_Time
SERVER
Code:-
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<time.h>
time_t ticks;
int main()
{
struct sockaddr_in serv_addr, cli_addr;
int skfd, cli_fd, r, cli_len;
int short serv_port = 25020;
char serv_ip[] = "127.0.0.1";
char buff[128];
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(serv_port);
inet_aton(serv_ip, (&serv_addr.sin_addr));
while (1)
{
cli_len = sizeof(cli_addr);
ticks = time(NULL);
snprintf(buff, sizeof(buff), "%s", ctime(&ticks));
close(cli_fd);
}
close(skfd);
return 0;
}
CLIENT
Code:-
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
struct sockaddr_in serv_addr;
int skfd, r;
int short serv_port = 25020;
char serv_ip[] = "127.0.0.1";
char buff[128];
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(serv_port);
inet_aton(serv_ip, (&serv_addr.sin_addr));
buff[r] = '\0';
printf("\n CLIENT: Time received from server: %s\n", buff);
close(skfd);
return 0;
}
Output: