Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Lab1_5-12IT3-Divin / client
.c#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;
}