Mohli by ste mi poradit ako, ak je to len nejaky kusok kodu? Ak na to treba nejake silno velke skills tak nemusite, ale celkom by sa mi to hodilo na jednu vec
Dakujem vopred za odpovede (K+)
Kód: Vybrať všetko
http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
Kód: Vybrať všetko
#include <netinet/in.h>
#include <sys/socket.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#define HOSTNAME "127.0.0.1"
#define PORT 7
main(int argc, char *argv[]) {
char buffer[] = "Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n";
int sockfd, length, offset;
struct sockaddr_in local_addr;
if ((sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
fprintf(stderr, "Cannot create socket.\n");
exit(-1);
}
bzero(&local_addr, sizeof(local_addr));
local_addr.sin_family = AF_INET;
local_addr.sin_addr.s_addr = inet_addr(HOSTNAME);
local_addr.sin_port = htons(PORT);
if (connect(sockfd, (struct sockaddr *) &local_addr, sizeof(local_addr)) == -1) {
fprintf(stderr, "Cannot connect to %s:%d.\n", HOSTNAME, PORT);
exit(1);
}
if (write(sockfd, buffer, sizeof(buffer)) != sizeof(buffer)) {
fprintf(stderr, "Error sending data.");
exit(1);
}
offset = 0;
do {
if((length = read(sockfd, buffer + offset, sizeof(buffer) - offset)) <= 0) {
fprintf(stderr, "Error receiving data.");
exit(1);
}
offset += length;
} while (offset != sizeof(buffer));
fprintf(stdout, "%s", buffer);
close(sockfd);
}