当前位置: 首页>>代码示例>>C++>>正文


C++ socket_write_string函数代码示例

本文整理汇总了C++中socket_write_string函数的典型用法代码示例。如果您正苦于以下问题:C++ socket_write_string函数的具体用法?C++ socket_write_string怎么用?C++ socket_write_string使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了socket_write_string函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: server_DELETE_id

void server_DELETE_id(http_request_t req, socket_t * clientSocket, sqlite3* db) {
    char buf[1000] = "";
    int id;

    if(strpbrk(req.uri,"-0123456789"))
    {
        id = atoi(strpbrk(req.uri,"-0123456789"));
        if(!db_checkId(db, id))
        {
            socket_write_string(clientSocket,"HTTP1.1 404 NOT FOUND\n"
            "Content-Type: json\n"
            "Content-Length: %i\r\n\r\n"
            "%s\n""<body>Id not found<br>"
                                  "<a href=\"/Teacher/\">To Teachers</a></body>");
            return;
        }
    }
    else
    {
        socket_write_string(clientSocket,"<body>Wrong id<br>"
                                  "<a href=\"/Teacher/\">To Teachers</a></body>");
        return;
    }
    db_deleteTeacherById (db, id);




    server_send(clientSocket, "<body>Delete success<br>"
                                  "<a href=\"/Teacher/\">To Teachers</a></body>");
}
开发者ID:SorochynskyiVladyslav,项目名称:CoursesRepository,代码行数:31,代码来源:server.c

示例2: server_getByIdHTML

static void server_getByIdHTML(http_request_t request, socket_t* client, worker_t** workers)
{
    int id;
    char* getId = strpbrk(request.uri, "0123456");
    if(getId)
    {
        id = atoi(getId);
        if(id<0 || id>6 || worker_getId(workers[id]) == -1)
        {
            socket_write_string(client, "<h1>Wrong ID</h1><p><a href=\"/workers/\">All workers</a></p>");
            return;
        }
    }
    else
    {
        server_notFound(client);
        return;
    }
    char toSend[2000];
    char buffer[2000] = "<head><title>Worker</title></head><h1>Worker</h1><p><a href=\"/workers/\">All workers</a></p><p>";
    strcat(buffer, server_getWorkerHTML(workers[id]));
    strcat(buffer, "</p>");

    sprintf(toSend,
            "HTTP/1.1 200 OK\n"
            "Content-Type: text/html\n"
            "Content-Length: %i\r\n\r\n"
            "\n%s", strlen(buffer), buffer);
    socket_write_string(client, toSend);
    socket_close(client);
}
开发者ID:Konimiks,项目名称:hello-world,代码行数:31,代码来源:server.c

示例3: server_DELETE_id

void server_DELETE_id(http_request_t req,socket_t * clientSocket,lanser** freelanser)
{
    char buf[1000]="";
    int id;

    if(strpbrk(req.uri,"-0123456789"))
    {
        id=atoi(strpbrk(req.uri,"-0123456789"));
        if(id>9 || id<0)
        {
            socket_write_string(clientSocket,"HTTP1.1 404 NOT FOUND\n"
            "Content-Type: json\n"
            "Content-Length: %i\r\n\r\n"
            "%s\n""<body>Id not found<br>"
                                  "<a href=\"/Freelancer/\">To Freelancers</a></body>");
            return;
        }
    }
    else
    {
        socket_write_string(clientSocket,"<body>Wrong id<br>"
                                  "<a href=\"/Freelancer/\">To Freelancers</a></body>");
        return;
    }

    Freelanser_set(freelanser[id],NULL,NULL,0,NULL,0);

    server_sent(clientSocket, "<body>Delete success<br>"
                                  "<a href=\"/Freelancer/\">To Freelancers</a></body>");
}
开发者ID:vitalik296,项目名称:CoursesRepo,代码行数:30,代码来源:server.c

示例4: server_getByIdJSON

static void server_getByIdJSON(http_request_t request, socket_t* client, worker_t** workers)
{
    int id;
    char* getId = strpbrk(request.uri, "0123456");
    if(getId)
    {
        id = atoi(getId);
        if(id>6 || id<0 || worker_getId(workers[id]) == -1)
        {
            socket_write_string(client, "Wrong ID");
            return;
        }
    }
    else
    {
        server_notFound(client);
        return;
    }
    char buffer[1000] = "";
    char* worker = worker_makeWorkerJSON(workers[id]);

    sprintf(buffer,
            "HTTP/1.1 200 OK\n"
            "Content-Type: application/json\n"
            "Content-Length: %i\r\n\r\n"
            "\n%s", strlen(worker)+1, worker);

    socket_write_string(client, buffer);
    socket_close(client);
}
开发者ID:Konimiks,项目名称:hello-world,代码行数:30,代码来源:server.c

示例5: server_deleteByIdJSON

static void server_deleteByIdJSON(http_request_t request, socket_t* client, worker_t** workers)
{
    int id;
    char* getId = strpbrk(request.uri, "0123456");
    if(getId)
    {
        id = atoi(getId);
        if(id<0 || id>6 || worker_getId(workers[id]) == -1)
        {
            socket_write_string(client, "<h1>Wrong ID</h1><p><a href=\"/workers/\">All workers</a></p>");
            return;
        }
    }
    else
    {
        server_notFound(client);
        return;
    }
    char toSend[2000];
    char buffer[2000];
    sprintf(buffer,
            "Success!"
            "Worker %s successfully deleted!", worker_getName(workers[id]));

    workers[id] = worker_new();

    sprintf(toSend,
            "HTTP/1.1 200 OK\n"
            "Content-Type: application/json\n"
            "Content-Length: %i\r\n\r\n"
            "\n%s", strlen(buffer), buffer);

    socket_write_string(client, toSend);
    socket_close(client);
}
开发者ID:Konimiks,项目名称:hello-world,代码行数:35,代码来源:server.c

示例6: server_deleteByIdHTML

static void server_deleteByIdHTML(http_request_t request, socket_t* client, leading_t** leadings){
    int id;
    char* getId = strpbrk(request.uri, "0123456");
    if(getId){
        id = atoi(getId);
        if(id < 0 || id > 6 || leading_getId(leadings[id]) == -1){
            socket_write_string(client, "<h1>Wrong ID</h1><p><a href=\"/leadings/\">All leadings</a></p>");
            return;
        }
    }else{
        server_notFound(client);
        return;
    }
    char toSend[2000];
    char buffer[2000];
    sprintf(buffer,
            "<head><title>Delete</title></head>"
            "<h1>Success</h1><p><a href=\"/leadings/\">All leadings</a></p>"
            "<p>Leading %s successfully deleted!</p>", leading_getName(leadings[id]));

    leading_fill(leadings[id], -1, "qqq", "qqq", "1111-11-11", 0, 0);

    sprintf(toSend,
            "HTTP/1.1 200 OK\n"
            "Content-Type: text/html\n"
            "Content-Length: %i\r\n\r\n"
            "\n%s", strlen(buffer), buffer);

    socket_write_string(client, toSend);
    socket_close(client);
}
开发者ID:AndrienkoF,项目名称:KPIRepo,代码行数:31,代码来源:server.c

示例7: server_GET_id

void server_GET_id(http_request_t req,socket_t * clientSocket,lanser** freelancer)
{
    char text[1000]="";
    char *buf=NULL;
    int id;

    if(strpbrk(req.uri,"-0123456789"))
    {
        id=atoi(strpbrk(req.uri,"-0123456789"));
        if(id>9 || id<0)
        {
            socket_write_string(clientSocket,"HTTP1.1 404 NOT FOUND\n"
            "Content-Type: json\n"
            "Content-Length: %i\r\n\r\n"
            "Id not found");
            return;
        }
    }
    else
    {
        socket_write_string(clientSocket,"Wrong id");
        return;
    }


            buf = lanser_toJSON(freelancer[id]);

            strcat(text, buf);

    server_sent(clientSocket, text);

}
开发者ID:vitalik296,项目名称:CoursesRepo,代码行数:32,代码来源:server.c

示例8: server_answer

void server_answer(db_t* self,list_t* list,http_request_t req, socket_t * clientSocket,lanser ** freelanser)
{
    if(strcmp(req.uri,"/Freelancer/api/?"))
    {
        server_Sort(req,clientSocket,self);
    }
    else if (!strcmp(req.uri, "/Freelancer-count"))
    {
        server_count(clientSocket,list);
    }
    else if (!strcmp(req.uri, "/Freelancer/api"))
    {
        if (!strcmp(req.method, "GET"))
            server_GET_all(req,clientSocket,list);
        else if(!strcmp(req.method, "DELETE"))
            server_DELETE_all(req,clientSocket,list);
        else
            socket_write_string(clientSocket, "Method not allowed!\n");

    }
    else if (strncmp(req.uri, "/Freelancer/api/",16)==0)
    {
        if(!strcmp(req.method,"GET"))
            server_GET_id(req,clientSocket,list);
        else if(!strcmp(req.method,"DELETE"))
            server_DELETE_id(req,clientSocket,list,self);
        else if(!strcmp(req.method,"POST"))
        {
            server_POST(req,clientSocket,list,self);
        }
    }
    else if(!strncmp(req.uri,"/Freelancer/delete/",19))
    {
        server_DELETE_id(req,clientSocket,list,self);
    }
    else  if(!strcmp(req.uri,"/Freelancer"))
    {
        server_start_page(clientSocket);
    }
    else if(!strcmp(req.uri,"/Freelancer/"))
    {
        server_GET_html(clientSocket,list);
    }
    else if(!strcmp(req.uri,"/Freelancer/paste"))
    {
        server_Paste_html(req,clientSocket,list);
    }
    else if(!strncmp(req.uri,"/Freelancer/",12))
    {
        server_GET_id_html(req,clientSocket,list);
    }
    else
        socket_write_string(clientSocket,"\nHTTP1.1 404 NOT FOUND\n"
                            "Content-Type: application/json\n"
                            "Content-Length: %i\r\n\r\n""Freelancer not found\n");
}
开发者ID:vitalik296,项目名称:CoursesRepo,代码行数:56,代码来源:server.c

示例9: server_GET_id_html

void server_GET_id_html(http_request_t req,socket_t* clientSocket,lanser ** freelancer)
{
    int id;

    if(strpbrk(req.uri,"-0123456789"))
    {
        id=atoi(strpbrk(req.uri,"-0123456789"));
        if(id>9 || id<0)
        {
            socket_write_string(clientSocket,"Id not found");
            return;
        }
    }
    else
    {
        socket_write_string(clientSocket,"Wrong id");
        return;
    }
    char text [1000]="";
    char buf[10000]="<html>"
                    "<head>"
                    "<title>Page Title</title>"
                    "</head>"
                    "<body>"
                    "<h1>Freelancer</h1>";


    sprintf(text,"<p>Name:\t\t%s</p>"
            "<p>Surname:\t%s</p>"
            "<p>Age:\t\t%.2f</p>"
            "<p>Date:\t\t%s</p>"
            "<p>\tSalary:\t\t%i\n\n\n</p>"
            "<p><a href=""/Freelancer/"">To prev page</a></p>",
            Freelanser_name_get(freelancer[id]),
            Freelanser_surname_get(freelancer[id]),
            Freelanser_age_get(freelancer[id]),
            Freelanser_date_get(freelancer[id]),
            Freelanser_salary_get(freelancer[id])
           );
    strcat(buf,text);
    sprintf(text,"<p><a href=\"/Freelancer/\" onclick=\"doDelete()\">Delete Freelancer</a></p>"
                 "<script>"
                 "function doDelete(){"
                 "var xhttp=new XMLHttpRequest();"
                 "xhttp.open(\"DELETE\",\"/Freelancer/api/%i\",true);"
                 "xhttp.send();"
                 "}"
                 "</script>",id);
    strcat(buf,text);
    strcat(buf,"</body>"
           "</html>");
    socket_write_string(clientSocket,buf);
}
开发者ID:vitalik296,项目名称:CoursesRepo,代码行数:53,代码来源:server.c

示例10: server_postHTML

static void server_postHTML(socket_t* client, worker_t** workers)
{
    char buffer[2000] = "";
    int id = 0;
    int count = worker_workersCount(workers);

    if(count >= MAX_WORKERS)
    {
        char fail[] = "<html><head><title>Failure</head></title>"
                     "<body><h1>Failure</h1>"
                     "<p>List is full!</p>"
                     "<p><a href=\"/workers/\">Back to all workers</a></p>"
                     "</body></html>";
        sprintf(buffer,
            "HTTP/1.1 200 OK\n"
            "Content-Type: text/html\n"
            "Content-Length: %i\r\n\r\n"
            "\n%s", strlen(fail), fail);

        socket_write_string(client, buffer);
        socket_close(client);
        return;
    }

    for(int i = 0; i<MAX_WORKERS; i++, id++)
    {
        if(worker_getId(workers[i]) == -1)
            break;
    }

    char toSend[2000] = "";
    sprintf(toSend,
            "<html><head><title>Post</title></head>"
            "<body><h1>New worker</h1>"
            "<form action=\"/api/workers/%i\" method=\"POST\">"
            "Name:<br><input type=\"text\" name=\"name\"><br>"
            "Surname:<br><input type=\"text\" name=\"surname\"><br>"
            "Birthday:<br><input type=\"text\" name=\"birthdate\"><br>"
            "Experience:<br><input type=\"text\" name=\"experience\"><br>"
            "Rating:<br><input type=\"text\" name=\"rating\"><br>"
            "<input type=\"submit\" value=\"Send POST request\" /></form><br>"
            "<p><a href=\"/workers/\">Back to all workers</a></p>"
            "</body></html>", id);
    sprintf(buffer,
            "HTTP/1.1 200 OK\n"
            "Content-Type: text/html\n"
            "Content-Length: %i\r\n\r\n"
            "\n%s", strlen(toSend), toSend);

    socket_write_string(client, buffer);
    socket_close(client);
}
开发者ID:Konimiks,项目名称:hello-world,代码行数:52,代码来源:server.c

示例11: server_GET_id_html

void server_GET_id_html(http_request_t req, socket_t* clientSocket, sqlite3 * db) {
    int id;

    if(strpbrk(req.uri,"-0123456789"))
    {
        id = atoi(strpbrk(req.uri,"-0123456789"));
        if (!db_checkId (db, id))
        {
            socket_write_string(clientSocket,"Id not found");
            return;
        }
    }
    else
    {
        socket_write_string(clientSocket,"Wrong id");
        return;
    }
    char text[1000] = "";
    char buf[10000] = "<html>"
                    "<head>"
                    "<title>Lab4</title>"
                    "</head>"
                    "<body>"
                    "<h1>Teacher</h1>";

    teacher_t temp = db_getTeacherById(db, id);
    sprintf(text,"<p>Name:\t\t%s</p>"
            "<p>Birthdate:\t%s</p>"
            "<p>Years:\t\t%i</p>"
            "<p>Rate:\t\t%.2f</p>"
            "<p>\tSubjects:\t\t%i\n\n\n</p>"
            "<p><a href=""/Teacher/"">To prev page</a></p>",
            teacher_getName(temp),
            teacher_getBirthdate(temp),
            teacher_getYears(temp),
            teacher_getRate(temp),
            teacher_getSubjects(temp)
           );
    strcat(buf, text);
    sprintf(text, "<p><a href=\"/Teacher/\" onclick=\"doDelete()\">Delete Teacher</a></p>"
                 "<script>"
                 "function doDelete(){"
                 "var xhttp=new XMLHttpRequest();"
                 "xhttp.open(\"DELETE\",\"/api/Teacher/%i\",true);"
                 "xhttp.send();"
                 "}"
                 "</script>", id);
    strcat(buf, text);
    strcat(buf, "</body>"
           "</html>");
    socket_write_string(clientSocket, buf);
}
开发者ID:SorochynskyiVladyslav,项目名称:CoursesRepository,代码行数:52,代码来源:server.c

示例12: server_postHTML

static void server_postHTML(socket_t* client)
{
    char buffer[2000] = "";

    char toSend[2000] = "";
    strcpy(toSend,
            "<html><head><title>Post</title></head>"
            "<body><h1>New worker</h1>"
            "<form action=\"/api/workers/\" method=\"POST\">"
            "Name:<br><input type=\"text\" name=\"name\"><br>"
            "Surname:<br><input type=\"text\" name=\"surname\"><br>"
            "Salary:<br><input type=\"text\" name=\"salary\"><br>"
            "Year:<br><input type=\"text\" name=\"year\"><br>"
            "<input type=\"submit\" value=\"Send POST request\" /></form><br>"
            "<p><a href=\"/workers/\">Back to all workers</a></p>"
            "</body></html>");
    sprintf(buffer,
            "HTTP/1.1 200 OK\n"
            "Content-Type: text/html\n"
            "Content-Length: %i\r\n\r\n"
            "\n%s", strlen(toSend), toSend);

    socket_write_string(client, buffer);
    socket_close(client);
}
开发者ID:gribo4eg,项目名称:repos1,代码行数:25,代码来源:server.c

示例13: server_pensionersRetPOST

void server_pensionersRetPOST(socket_t * client, http_request_t * req, resource_t * lt)
{
    char buf[10240] = "";

    char * pageText = "<form action=\"http://127.0.0.1:5000/pensioners\" method=\"POST\">"
                        "id:<br>"
                        "<input type=\"text\" name=\"id\" value='3'><br>"
                        "Name:<br>"
                        "<input type=\"text\" name=\"name\" value='Ivan'><br>"
                        "Surname:<br>"
                        "<input type=\"text\" name=\"surname\" value='Ivanov'><br>"
                        "Birthdate:<br>"
                        "<input type=\"text\" name=\"birthday\" value='1945-12-12'><br>"
                        "Pension:<br>"
                        "<input type=\"text\" name=\"pension\" value='2010.25'><br>"
                        "Experience:<br>"
                        "<input type=\"text\" name=\"experience\" value='60'><br><br>"
                        "<input type=\"submit\" value='Send POST request' />"
                        "</form>";

        char * textHtml = textToBuf_HTML(pageText);
        strcat(buf, textHtml);
        free(textHtml);
        socket_write_string(client, buf);
        socket_close(client);
}
开发者ID:DariaDar,项目名称:Reposit,代码行数:26,代码来源:server.c

示例14: server_mastersHtmlPOST

void server_mastersHtmlPOST(socket_t * client, http_request_t * req, db_t * db)
{
    char buffer[10240] = "";

    if (strcmp(req->method, "GET") == 0)
    {
        char * pageText =
            "<form action=\"http://127.0.0.1:5000/ScrumMasters\" method=\"POST\">"
            "Name:<br>"
            "<input type=\"text\" name=\"name\" value='Ivan'><br>"
            "Surname:<br>"
            "<input type=\"text\" name=\"surname\" value='Ivanov'><br>"
            "CountK:<br>"
            "<input type=\"text\" name=\"countK\" value='3'><br>"
            "CountP:<br>"
            "<input type=\"text\" name=\"countP\" value='3'><br><br>"
            "<input type=\"submit\" value='Send POST request' />"
            "</form>";

            char * textHTML = textToHTML(pageText);
            strcat(buffer, textHTML);
            free(textHTML);
    }

    socket_write_string(client, buffer);
    socket_close(client);
}
开发者ID:lemeshkob,项目名称:Repo1,代码行数:27,代码来源:server.c

示例15: post_new_row_post

void post_new_row_post(http_request_t req, socket_t * clientSocket,db_t * db)
{
    char text[20];
    strcpy(text,req.uri+10);
    int check=db_insert(db, text,req);
    char buf[1000];
    if(check==0)
    {
    sprintf(buf,"<html>"
                    "<head>"
                    "<title>Page Title</title>"
                    "</head>"
                    "<body>"
                    "<p align=\"center\">INSSERT SUCCESS</p>"
                    "<p align=\"center\"><a  href=\"/db/%s\" align=\"center\" >To %s</a></p>"
                    "</body>"
                    "</html>",text,text);
    }
    else
    {
    sprintf(buf,
            "<html>"
            "<head>"
            "<title>Page Title</title>"
            "</head>"
            "<body>"
            "<p align=\"center\">INSSERT ERROR</p>"
            "<p align=\"center\"><a  href=\"/db/%s\" align=\"center\" >To %s</a></p>"
            "</body>"
            "</html>",text,text);
    }
    socket_write_string(clientSocket,buf);
}
开发者ID:vitalik296,项目名称:CoursesRepo,代码行数:33,代码来源:server.c


注:本文中的socket_write_string函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。