You are on page 1of 1

#include <sys/socket.

h> //define server socket


#include <netinet/in.h> int client_socket;
#include <arpa/inet.h>
#include <stdio.h> client_socket=socket(AF_INET,SOCK_STREAM
#include <stdlib.h> ,0);
#include <unistd.h> //define server address
#include <errno.h> struct sockaddr_in server_address;
#include <string.h> server_address.sin_family = AF_INET;
#include <sys/types.h> server_address.sin_addr.s_addr =
int main(int argc, char *argv[]){ INADDR_ANY;
// define server socket server_address.sin_port = htons(64000);
int server_socket;
server_socket = socket(AF_INET, int
SOCK_STREAM, 0); connection_status=connect(client_socket,(struct
sockaddr*)&server_address,sizeof(server_address)
//define server address );
struct sockaddr_in server_address; if(connection_status==-1)
server_address.sin_family = AF_INET; {
server_address.sin_addr.s_addr = printf("\nError Connecting to
INADDR_ANY; Server\n");
server_address.sin_port = htons(64000); exit(1);
}
//bind socket char buff[256];
bind(server_socket, (struct
sockaddr*)&server_address, read(client_socket, buff, sizeof(buff));
sizeof(server_address)); printf("Message received from Mohit's
listen(server_socket, 5); server : %s\n",buff);
printf("\nserver started listening\n");
char mybuf1[BUFFER_SIZE],
while(1){ mybuf2[BUFFER_SIZE];
int client_socket; struct iovec iov[2];
client_socket = iov[0].iov_base = mybuf1;
accept(server_socket, NULL, NULL); iov[0].iov_len = BUFFER_SIZE;
char *msg = "Welcome, this is iov[1].iov_base = mybuf2;
server Mohit"; iov[1].iov_len = BUFFER_SIZE;
write(client_socket, msg,
strlen(msg)); while (1) {
printf("\nmessage sent..."); ssize_t n = readv(STDIN_FILENO, iov, 2);
char buff[256]; if (n < 0) {
fprintf(stderr, "Failed to read
read(client_socket, buff, input from stdin: %s\n", strerror(errno));
sizeof(buff)); return 1;
printf("\nmessage received from }
client: %s\n", buff);
char *p = strstr(buff, "END"); if (n == 0) {
if(p != NULL){ break;
printf("\nserver is }
going to off\n");
break; if (writev(client_socket, iov, 2) < 0) {
} fprintf(stderr, "Failed to
} write to socket: %s\n", strerror(errno));
close(server_socket); return 1;
}
} }
// read and write v function
#include <sys/socket.h> close(client_socket); }
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>

int main(int argc, char *argv[])


{
int BUFFER_SIZE=80;

You might also like