Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <unistd.h>
- #include <netinet/in.h>
- #include <vector>
- #include <string>
- #include <iostream>
- #include<fstream>
- #include <errno.h>
- //std::vector<std::string> read_file();
- void get_request(int sock, std::string fileName) {
- printf("5ra");
- /*
- int len = strlen(fileName.c_str());
- if (send(sock, fileName.c_str(), len, 0) != len){
- printf("dfsdf");
- }
- FILE* file = fopen(fileName.c_str(), "wb");
- int recv_size;
- char res[1024];
- if ((recv_size = recv(sock, res, sizeof(res), 0)) < 0){
- printf("err");
- }
- int resn = 0;
- while(res[resn++]!='\n');
- char t[100];
- strncpy(t,res,resn);
- std::cout<< " response is "<<t<<"of length "<<resn<<std::endl;
- int flen = (int)res[resn];
- flen+=((int)res[resn+1] * 256);
- std::cout<<"length is "<<flen;
- char buffer[1024];
- fwrite((char *)res+resn+2,1,flen,file);
- fclose(file);
- */
- }
- int main(int argc , char * argv []){
- int port_number;
- if (argc ==2){
- port_number = 80;
- }
- else if (argc == 3){
- port_number = atoi(argv[2]);
- }else{
- std::cout << "Incorrect number of params" << std::endl;
- return -1;
- }
- char * server_ip = argv[1];
- int socket_fd = socket(AF_INET,SOCK_STREAM,0);
- if (socket_fd<0){
- printf("Error creating the socket");
- // print error message and make a function for error print :'D
- }
- struct sockaddr_in server_address;
- server_address.sin_family = AF_INET;
- server_address.sin_port = htons(port_number);
- std::cout<<"socket fd : "<< socket_fd << std::endl;
- std::cout << connect(socket_fd, (struct sockaddr *) &server_address, sizeof server_address )<< std::endl;
- if (connect(socket_fd, (struct sockaddr *) &server_address, sizeof server_address ) < 0){
- std::cout << "connection failed" <<std::endl;
- std::cout << errno <<std::endl;
- return -1;
- }
- else{
- std::cout << "connection passed"<<std::endl;
- }
- std::cout << "hello" << std::endl;
- // std::vector<std::string> requests = read_file();
- //get_request(socket_fd,"bla.txt");
- printf("sdfsdf");
- }
- std::vector<std::string> read_file()
- {
- std::ifstream in("requests.txt");
- std::string line;
- std::vector<std::string> requests;
- while (std::getline(in,line)){
- if (line.size()>0){
- requests.push_back(line);
- }
- }
- return requests;
- }
- /* int len = strlen("bla.txt");
- if (send(socket_fd, "bla.txt", len, 0) != len){
- printf("dfsdf");
- }
- FILE* file = fopen("bla.txt", "wb");
- int recv_size;
- char res[1024];
- if ((recv_size = recv(socket_fd, res, sizeof(res), 0)) < 0){
- printf("err");
- }
- int resn = 0;
- while(res[resn++]!='\n');
- char t[100];
- strncpy(t,res,resn);
- std::cout<< " response is "<<t<<"of length "<<resn<<std::endl;
- int flen = (int)res[resn];
- flen+=((int)res[resn+1] * 256);
- std::cout<<"length is "<<flen;
- char buffer[1024];
- fwrite((char *)res+resn+2,1,flen,file);
- /*recv(socket_fd, &recv_size, 2, 0);
- //if ((recv_size = recv(sock, buffer, sizeof(buffer), 0)) < 0)
- while (recv_size > 0) {
- printf("????");
- std::cout << recv_size << std::endl;
- fwrite(buffer, 1, recv_size, file);
- recv_size -= recv(socket_fd, buffer, sizeof(buffer), 0) ;
- }*/
- //fclose(file);
- // printf("passed in main");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement