Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include <arpa/inet.h>
- #include <string.h>
- #include <dirent.h>
- #include <sys/types.h>
- #include <pthread.h>
- void directoryContent(char* content){
- struct dirent *de;
- DIR *dr = opendir(".");
- if(dr == NULL){
- printf("Could not open current directory");
- }
- while((de = readdir(dr))!=NULL){
- strcat(content, de->d_name);
- stract(content,"\n");
- printf("%s\n", content);
- }
- closedir(dr);
- }
- void *connectionHandler(void *args){
- char message[128] = "Acesta eset un mesaj";
- int connectionSocket = *((int*)args);
- printf("thread started\n");
- send(connectionSocket, message, strlen(message), 0);
- close(connectionSocket);
- }
- int main(){
- //def socket
- //bind socket
- //listen on socket
- struct sockaddr_in serverAddress;
- struct sockaddr_storage clientAddress;
- socklen_t addr_len;
- pthread_t tHandle;
- char message[2048] = {0};
- int serverSocket = socket(PF_INET, SOCK_STREAM, 0);
- serverAddress.sin_family = AF_INET;
- serverAddress.sin_port = htons(12345); //host to networl
- serverAddress.sin_addr.s_addr = inet_addr("127.0.0.1");
- bind(serverSocket, &serverAddress, sizeof(serverAddress));
- directoryContent(message);
- printf("Before listen\n");
- listen(serverSocket, 100);
- printf("After listen\n");
- //send(clientSocket, message, strlen(message), 0);
- while(1) {
- //wait for client connection
- int clientSocket = accept(serverSocket, &clientAddress, &addr_len);
- pthread_create(&tHandle, NULL, connectionHandler, &clientSocket);
- usleep(50000);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement