added testing files

This commit is contained in:
Michal Starski 2018-11-26 22:45:13 +01:00
parent 45618e6934
commit 2f20425be7
7 changed files with 114 additions and 0 deletions

2
.gitignore vendored
View File

@ -1 +1,3 @@
server
.vscode
.DS_Store

BIN
assets/test.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
avClient Executable file

Binary file not shown.

BIN
avServer Executable file

Binary file not shown.

50
avatarClient.c Normal file
View File

@ -0,0 +1,50 @@
// Client side C/C++ program to demonstrate Socket programming
#include <stdio.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#define PORT 8080
int main(int argc, char const *argv[])
{
struct sockaddr_in address;
int sock = 0, message_recieved;
struct sockaddr_in serv_addr;
char buffer[1024];
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
printf("\n Socket creation error \n");
return -1;
}
memset(&serv_addr, '0', sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(PORT);
if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0)
{
printf("\nConnection Failed \n");
return -1;
}
while (1)
{
message_recieved = recv(sock, buffer, sizeof(buffer), 0);
if (strcmp(buffer, "over") == 0)
{
break;
}
else
{
int av_open = open("package.jpg", O_CREAT | O_RDWR);
int av_write = write(av_open, buffer, sizeof(buffer));
int av_close = close(av_open);
}
printf("%s", "Received");
}
return 0;
}

62
avatarServer.c Normal file
View File

@ -0,0 +1,62 @@
#include <unistd.h>
#include <stdio.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <string.h>
#include <fcntl.h>
#define PORT 8080
int main(int argc, char const *argv[])
{
int server_fd, new_socket, read_avatar;
struct sockaddr_in address;
int opt = 1;
int addrlen = sizeof(address);
char buffer[1024];
char *overMessage = "over";
// Creating socket file descriptor
if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0)
{
perror("socket failed");
exit(EXIT_FAILURE);
}
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(PORT);
// Forcefully attaching socket to the port 8080
if (bind(server_fd, (struct sockaddr *)&address,
sizeof(address)) < 0)
{
perror("bind failed");
exit(EXIT_FAILURE);
}
if (listen(server_fd, 3) < 0)
{
perror("listen");
exit(EXIT_FAILURE);
}
if ((new_socket = accept(server_fd, (struct sockaddr *)&address,
(socklen_t *)&addrlen)) < 0)
{
perror("accept");
exit(EXIT_FAILURE);
}
int avatar_fd = open("assets/test.jpg", O_RDONLY);
if (avatar_fd < 0)
{
return -1;
}
while ((read_avatar = read(avatar_fd, buffer, sizeof(buffer))) > 0)
{
printf("%d\n", read_avatar);
send(new_socket, buffer, sizeof(buffer), 0);
}
send(new_socket, overMessage, sizeof(overMessage), 0);
return 0;
}

0
package.jpg Executable file
View File