Skip to content
Snippets Groups Projects
Commit 55dee9f4 authored by Saleh Ahmed Khan's avatar Saleh Ahmed Khan
Browse files

Client/server temporary code

parent 2494a636
No related branches found
No related tags found
No related merge requests found
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <netdb.h>
void main(int argc, char *argv[]) {
int sockfd = 0 /*listenfd*/, connfd = 0, n = 0;
char recvBuff[1025];
struct sockaddr_in serv_addr;
struct hostent *server;
sockfd = socket(AF_INET, SOCK_STREAM, 0); //create socket
server = gethostbyname(argv[1]);
memset(&serv_addr, '0', sizeof(serv_addr)); //initialise server address
memset(recvBuff, '0', sizeof(recvBuff)); //initialise RECEIVE buffer
bcopy((char *)server->h_addr,(char *)&serv_addr.sin_addr.s_addr,server->h_length);
serv_addr.sin_family = AF_INET; //Type of address – internet IP
serv_addr.sin_port = htons(atoi(argv[2])); // port no
if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) {
printf("Error connecting to server\n");
} else {
printf("%s server\n", (char*)&serv_addr);
}
while ((n = read(connfd, recvBuff, sizeof(recvBuff)-1)) > 0) {
printf("%s\n\n", recvBuff);
}
}
server: server.c server: server.c
gcc -o server server.c gcc -o server server.c
client: client.c
gcc -o client client.c
clean: clean:
rm server rm server
rm client
\ No newline at end of file
...@@ -3,25 +3,34 @@ ...@@ -3,25 +3,34 @@
#include <netinet/in.h> #include <netinet/in.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h>
#include <unistd.h> #include <unistd.h>
void main() { void main(int argc, char *argv[]) {
int listenfd = 0, connfd = 0; int listenfd = 0, connfd = 0;
char sendBuff[1025]; char sendBuff[1025];
struct sockaddr_in serv_addr; struct sockaddr_in serv_addr;
listenfd = socket(AF_INET, SOCK_STREAM, 0); //create socket listenfd = socket(AF_INET, SOCK_STREAM, 0); //create socket
if (listenfd < 0) {
printf("Error creating socket\n");
}
memset(&serv_addr, '0', sizeof(serv_addr)); //initialise server address memset(&serv_addr, '0', sizeof(serv_addr)); //initialise server address
memset(sendBuff, '0', sizeof(sendBuff)); //initialise send buffer memset(sendBuff, '0', sizeof(sendBuff)); //initialise send buffer
serv_addr.sin_family = AF_INET; //Type of address – internet IP serv_addr.sin_family = AF_INET; //Type of address – internet IP
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); //Listen on ANY IP Addr serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); //Listen on ANY IP Addr
serv_addr.sin_port = htons(5000); //Listen on port 5000 // serv_addr.sin_port = htons(5000); //Listen on port 5000
serv_addr.sin_port = htons(atoi(argv[1]));
bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); if (bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) {
printf("Error binding\n");
}
listen(listenfd, 10); // maximum number of client connections to queue listen(listenfd, 10); // maximum number of client connections to queue
connfd = accept(listenfd, (struct sockaddr*)NULL, NULL); connfd = accept(listenfd, (struct sockaddr*)NULL, NULL);
if (connfd < 0) {
printf("Error accepting\n");
}
snprintf(sendBuff, sizeof(sendBuff), "Hello World!"); snprintf(sendBuff, sizeof(sendBuff), "Hello World!");
write(connfd, sendBuff, strlen(sendBuff)); write(connfd, sendBuff, strlen(sendBuff));
close(connfd); close(connfd);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment