- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <unistd.h>
- #define size 2048
- int main()
- {
- char serverMessage[size];
- // create the server socket
- int socketDescriptor = socket(AF_INET, SOCK_STREAM, 0);
- // define the server address
- // creating the address as same way we have created for TCPclient
- struct sockaddr_in serverAddress;
- serverAddress.sin_family = AF_INET;
- serverAddress.sin_port = htons(9002);
- serverAddress.sin_addr.s_addr = INADDR_ANY;
- // calling bind function to oir specified IP and port
- bind(socketDescriptor, (struct sockaddr *)&serverAddress;, sizeof(serverAddress));
- listen(socketDescriptor, 5);
- // starting the accepting
- // accept(socketWeAreAccepting,structuresClientIsConnectingFrom,)
- int client_socket = accept(socketDescriptor, NULL, NULL);
- //input file
- FILE *fptr = fopen("text.txt", "r");
- if (fptr == NULL) {
- printf("Failed to open text.txt.\n");
- exit(1);
- }
- // reads text from file
- int i = 0;
- char ch;
- while ((ch = fgetc(fptr)) != EOF && i < size) {
- serverMessage[i] = ch;
- i++;
- }
- serverMessage[i] = '\0';
- fclose(fptr);
- // sending data
- // send(toWhom,Message,SizeOfMessage,FLAG);
- send(client_socket, serverMessage, sizeof(serverMessage), 0);
- // close the socket
- close(socketDescriptor);
- return 0;
- }
- // adding headers
- #include <stdio.h>
- #include <stdlib.h>
- //for socket and related functions
- #include <sys/types.h>
- #include <sys/socket.h>
- //for including structures which will store information needed
- #include <netinet/in.h>
- #include <unistd.h>
- #define SIZE 2048
- //main functions
- int main()
- {
- int socketDescriptor = socket(AF_INET, SOCK_STREAM, 0);
- // server address
- struct sockaddr_in serverAddress;
- serverAddress.sin_family = AF_INET;
- serverAddress.sin_port = htons(9002);
- serverAddress.sin_addr.s_addr = INADDR_ANY;
- // communicates with listen
- connect(socketDescriptor, (struct sockaddr *)&serverAddress;, sizeof(serverAddress));
- char serverResponse[SIZE];
- recv(socketDescriptor, &serverResponse;, sizeof(serverResponse), 0);
- printf("The server sent the data : \n%s", serverResponse);
- //save results to file
- FILE *file = fopen("response.txt", "w");
- if (file != NULL) {
- fprintf(file, "%s", serverResponse);
- fclose(file);
- printf("Server response saved to response.txt\n");
- } else {
- printf("Failed to open response.txt.\n");
- exit(1);
- }
- //closing the socket
- close(socketDescriptor);
- return 0;
- }