Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
36
Добавлен:
18.05.2015
Размер:
1.07 Кб
Скачать
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char msg1[50];
    char msg2[50];
    
    int sock;
    struct sockaddr_in addr;

    sock = socket(AF_INET, SOCK_DGRAM, 0);
    if(sock < 0)
    {
        perror("socket");
        exit(1);
    }

    addr.sin_family = AF_INET;
    addr.sin_port = htons(3425);
    addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
    
    printf("Enter filename please.\n");
    scanf("%s", msg1);
    sendto(sock, (const void*)msg1, sizeof(msg1), 0,
           (struct sockaddr *)&addr, sizeof(addr));

    printf("Enter the number of pieces of the file you want to get.\n");
    scanf("%s", msg2);
    sendto(sock, (const void*)msg2, sizeof(msg2), 0,
           (struct sockaddr *)&addr, sizeof(addr));

    char *tmp = (char*)calloc(1024, sizeof(char));;
    int bytes_read;
    bytes_read = recvfrom(sock, tmp, 1024, 0, NULL, NULL);
    tmp[bytes_read] = '\0';
    printf("Filename:\n%s\n", tmp);
    fflush(stdout);

    return 0;
}

Соседние файлы в папке Lab1_5-12IT3-Divin