这篇教程C++ socket_write_string函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中socket_write_string函数的典型用法代码示例。如果您正苦于以下问题:C++ socket_write_string函数的具体用法?C++ socket_write_string怎么用?C++ socket_write_string使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了socket_write_string函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: server_DELETE_idvoid 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,
示例2: server_getByIdHTMLstatic 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,
示例3: server_DELETE_idvoid 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,
示例4: server_getByIdJSONstatic 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,
示例5: server_deleteByIdJSONstatic 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,
示例6: server_deleteByIdHTMLstatic 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,
示例7: server_GET_idvoid 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,
示例8: server_answervoid 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,
示例9: server_GET_id_htmlvoid 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,
示例10: server_postHTMLstatic 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,
示例11: server_GET_id_htmlvoid 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,
示例12: server_postHTMLstatic 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,
示例13: server_pensionersRetPOSTvoid 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,
示例14: server_mastersHtmlPOSTvoid 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,
示例15: post_new_row_postvoid 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,
示例16: edit_rowvoid edit_row(http_request_t req, socket_t * clientSocket,db_t * db){ int id=atoi(strpbrk(req.uri,"0123456789")); ptrdiff_t nameLeng=(strpbrk(req.uri,"0123456789")-1)-(req.uri+10); char *name=malloc(sizeof(char)*nameLeng+1); memcpy(name,req.uri+10,nameLeng); name[nameLeng]='/0'; sqlite3_stmt * stmt = NULL; stmt=db_getrow(db,name,id); char buf[5000]=""; char text[5000]=""; sprintf(text, "<html>" "<body>" "<form align=/"center/" action=""http://127.0.0.1:5000/db/edit/%s/%i"" method=""POST"">" "Name:<br>" "<input type=""text"" name=""name"" value=%s><br>" "Surname:<br>" "<input type=""text"" name=""surname"" value=%s ><br>" "Age:<br>" "<input type=""text"" name=""age"" value=%i><br>" "<input type=""submit"" value='Send EDIT request' />" "</form>" "</body>",name,id,sqlite3_column_text(stmt, 0),sqlite3_column_text(stmt, 1),sqlite3_column_int(stmt, 2)); strcat(buf,text); socket_write_string(clientSocket,buf);}
开发者ID:vitalik296,项目名称:CoursesRepo,代码行数:30,
示例17: server_personalTaskstatic void server_personalTask(http_request_t request, socket_t* client, db_t* base){ char salaryReq[10], salaryVal[10], yearReq[10], yearVal[10], toSend[10000]; char* str = strtok(request.uri, "?&="); str = strtok(NULL, "?&="); strcpy(salaryReq, str); // salary_m || salary_l str = strtok(NULL, "?&="); strcpy(salaryVal, str); // salary value str = strtok(NULL, "?&="); strcpy(yearReq, str); // year_m || year_l str = strtok(NULL, "?&="); strcpy(yearVal, str); // year value int count = db_countWorkers(base); worker_t** workers[count]; for(int i = 0; i<count; i++) workers[i] = worker_new(); str = db_personalTask(base, salaryReq, atoi(salaryVal), yearReq, atoi(yearVal), workers); sprintf(toSend, "HTTP/1.1 200 OK/n" "Content-Type: application/json/n" "Content-Length: %i/r/n/r/n" "/n%s", strlen(str)+1, str); for(int i = 0; i<count; i++) worker_free(workers[i]); socket_write_string(client, toSend); socket_close(client);}
开发者ID:gribo4eg,项目名称:repos1,代码行数:32,
示例18: server_teachersvoid server_teachers(socket_t * client, http_request_t * req){ char buffer[10240]; if (strcmp(req->method, "GET") == 0) { int amount = teacher_getSize(); char * teachersJSON = teacher_parseAllToJSON(teachers, amount); sprintf(buffer, "HTTP/1.1 200 OK/n" "Content-Type: application/json/n" "Content-Length: %zu/n" "Connection: keep-alive/n" "/n%s", strlen(teachersJSON), teachersJSON); free(teachersJSON); } else { char * errText = "Invalid command!"; sprintf(buffer, "HTTP/1.1 404 /n" "Content-Type: text/html/n" "Content-Length: %zu/n" "/n%s", strlen(errText), errText); } socket_write_string(client, buffer); socket_close(client);}
开发者ID:bbehrang,项目名称:CoursesRepo,代码行数:26,
示例19: server_Paste_htmlvoid server_Paste_html(http_request_t req,socket_t* clientSocket,lanser ** freelancer){ char buf[5000]=""; char text[5000]=""; int id=0; while(Freelanser_name_get(freelancer[id])!=NULL) { id++; if(id>9) { strcat(buf,"<body>" "Can't Post the new Freelancer<br>" "<a href=""/Freelancer/"">Back</a>" "</body>"); } } sprintf(text, "<html>" "<body>" "<form action=""http://127.0.0.1:5000/Freelancer/api/%i"" method=""POST"">" "Name:<br>" "<input type=""text"" name=""name""><br>" "Surname:<br>" "<input type=""text"" name=""surname"" ><br>" "Age:<br>" "<input type=""text"" name=""age""><br>" "Date:<br>" "<input type=""text"" name=""date""><br>" "Salary:<br>" "<input type=""text"" name=""salary""><br>" "<input type=""submit"" value='Send POST request' />" "</form>" "</body>",id); strcat(buf,text); socket_write_string(clientSocket,buf);}
开发者ID:vitalik296,项目名称:CoursesRepo,代码行数:35,
示例20: start_pagevoid start_page(socket_t * clientSocket,db_t * db){ char buf[10000]="<html>" "<head>" "<title>Page Title</title>" "</head>" "<body>" "<h1>Tables</h1>"; int kil=get_kil(db); char **text=malloc(sizeof(void*)*kil); for(int j=0;j<kil;j++) text[j]=malloc(50); db_get_name(db,text); int count =kil-1; for(int i =0;i<count;i++) { char rep[1000]; sprintf(rep,"<p><a href=/"/db/%s/">%s</a></p>",text[i],text[i]); strcat(buf,rep); } strcat(buf,"</body>" "</html>"); socket_write_string(clientSocket,buf);}
开发者ID:vitalik296,项目名称:CoursesRepo,代码行数:27,
示例21: server_pensionerDeletevoid server_pensionerDelete(socket_t * client, resource_t * lt, http_request_t * req){ char buf[2000] = ""; char * p = strstr(req->uri, "/api/pensioners/"); p = p + 16; int index = atoi(p); if(index >= 0) { for(int i = 0; i < resource_getCnt(lt); i++) { if(index == resource_getID(lt, i)) { pensioner_t * pens = resource_deletePens(lt, index); char * text = pensioner_toJSON(pens); char * textP = textToBuf_JSON(text); strcat(buf, textP); free(textP); } } } else { char * pageText = "{/n /"Error/": /"ID Not Found/"/n}"; char * textP = textToBuf_JSON(pageText); strcat(buf, textP); free(textP); } socket_write_string(client, buf); socket_close(client);}
开发者ID:DariaDar,项目名称:Reposit,代码行数:32,
示例22: inc_counter_by_valueint inc_counter_by_value(int socketfd, const char* name, int value) { char text[256]; //sprintf(text, "%s:%d|c|@%f", name, value, DEFAULT_RATE); sprintf(text, "%s:%d|c", name, value); printf("%s/n", text); return socket_write_string(text, socketfd);}
开发者ID:Asquera,项目名称:varnish-metric,代码行数:7,
示例23: server_allMusiciansvoid server_allMusicians(socket_t * client, http_request_t * req){ char strbuf[10240]; if (strcmp(req->method, "GET") == 0) { char * allMusiciansJson = musician_listToJSON(musicians_arr, (sizeof(musicians_arr) / sizeof(musicians_arr[0]))); sprintf(strbuf, "HTTP/1.1 200 OK/n" "Content-Type: application/json/n" "Content-Length: %zu/n" "Connection: keep-alive/n" "/n%s", strlen(allMusiciansJson), allMusiciansJson); free(allMusiciansJson); } else { char * error = "Error!"; sprintf(strbuf, "HTTP/1.1 404 ERROR /n" "Content-Type: text/html/n" "Content-Length: %zu/n" "/n%s", strlen(error), error); } socket_write_string(client, strbuf); socket_close(client);}
开发者ID:Blackstee,项目名称:Blackstee,代码行数:27,
示例24: server_sendvoid server_send (socket_t * clientSocket, char * text) { char buf[10000]; sprintf(buf, "/nHTTP1.1 200 OK/n" "Content-Type: application/json/n" "Content-Length: %i/r/n/r/n" "%s/n", strlen(text), text); socket_write_string(clientSocket,buf);}
开发者ID:SorochynskyiVladyslav,项目名称:CoursesRepository,代码行数:8,
示例25: server_poststatic void server_post(http_request_t request, socket_t* client, leading_t** leadings){ int id = 0; int count = leading_leadingsCount(leadings); char buffer[2000] =""; char* str; char* name = http_request_getArg(&request, "name"); char* surname = http_request_getArg(&request, "surname"); char* birthdate = http_request_getArg(&request, "birthdate"); char* experience = http_request_getArg(&request, "experience"); char* rating = http_request_getArg(&request, "rating"); if(strlen(name) <= 1 || strlen(surname) <= 1 || strlen(birthdate) <= 1){ server_send(client, "Name/Surname/Birthday wasn't filled in" "<p><a href=/"/leadings/new//">Back to POST</a></p>"); return; } str = birthdate; if(strlen(birthdate) > 10 || str[4] != '-' || str[7] != '-' || isdigit(birthdate[0])==0 || isdigit(experience[0]) == 0 || isdigit(rating[0])==0){ server_send(client, "Wrong data!" "<p><a href=/"/leadings/new//">Back to POST</a></p>"); return; } if(experience == " ") experience = "0"; if(rating == " ") rating = "0.0"; if(count >= MAX_LEADINGS){ char fail[] = "Limit of leadings!"; sprintf(buffer, "HTTP/1.1 404 /n" "Content-Type: text/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_LEADINGS; i++, id++) { if(leading_getId(leadings[i]) == -1) break; } int exp = atoi(experience); double rate = atof(rating); leading_fill(leadings[id], id, name, surname, birthdate, exp, rate); server_send(client, "Success" "<p><a href=/"/leadings//">All leadings</a></p>");}
开发者ID:AndrienkoF,项目名称:KPIRepo,代码行数:58,
示例26: server_pensionerHtmlIDvoid server_pensionerHtmlID(socket_t * client, resource_t * lt, http_request_t * req){ char buf[10000] = ""; char * p = strstr(req->uri, "/pensioners/"); p = p + 12; int index = atoi(p); if(index >= 0) { for(int i = 0; i < resource_getCnt(lt); i++) { if(index == resource_getID(lt, i)) { if(strcmp(req->method, "GET") == 0) { char pText[1000] = ""; char * text = pensioner_toHTML(resource_getbyId(lt, index), index); strcat(pText, text); char * pageText = "<a href=/"http://127.0.0.1:5000/pensioners/"><br>Back to the list.</a>"; strcat(pText, pageText); char * textHtml = textToBuf_HTML(pText); strcat(buf, textHtml); free(textHtml); } else if(strcmp(req->method, "DELETE") == 0) { char pText[1000] = ""; char * text = pensioner_toHTML(resource_deletePens(lt, index), index); strcat(pText, text); free(text); sprintf(buf, "HTTP/1.1 200 OK/n" "Access-Control-Allow-Origin: */n" "Access-Control-Allow-Methods: DELETE/n" "/n"); } } } char * message = "<h3 style=/"color:orange/">ID not found!</h3>"; char * textHtml = textToBuf_HTML(message); strcat(buf, textHtml); free(textHtml); } else { char * message = "<h3 style=/"color:orange/">ID not found!</h3>"; char * textHtml = textToBuf_HTML(message); strcat(buf, textHtml); free(textHtml); } socket_write_string(client, buf); socket_close(client);}
开发者ID:DariaDar,项目名称:Reposit,代码行数:58,
示例27: server_mastersByIDvoid server_mastersByID(socket_t * client, http_request_t * req, db_t * db){ char buffer[10240] = ""; char * point = strstr(req->uri, "/api/ScrumMasters/"); point += 18; int index = atoi(point); if(0 < index && index < db_count(db) + 1) { if (strcmp(req->method, "GET") == 0) { master_t * master = db_getDataById(db, index - 1); cJSON * jText = cJSON_CreateObject(); cJSON_AddItemToObject(jText, "Name", cJSON_CreateString(master_getName(master))); cJSON_AddItemToObject(jText, "Surname", cJSON_CreateString(master_getSurname(master))); cJSON_AddItemToObject(jText, "CountK", cJSON_CreateNumber(master_getCountK(master))); cJSON_AddItemToObject(jText, "CountP", cJSON_CreateNumber(master_getCountP(master))); char * pageText = cJSON_Print(jText); free(master); char * textJSON = textToJSON(pageText); strcat(buffer, textJSON); free(textJSON); } else if (strcmp(req->method, "DELETE") == 0) { master_t * master = db_getDataById(db, index - 1); db_deleteData(db, master_getID(master)); free(master); cJSON * jText = cJSON_CreateObject(); cJSON_AddItemToObject(jText, "Success", cJSON_CreateString("Successfully deleted")); char * pageText = cJSON_Print(jText); char * textJSON = textToJSON(pageText); strcat(buffer, textJSON); free(textJSON); } } else { cJSON * jText = cJSON_CreateObject(); cJSON_AddItemToObject(jText, "Error", cJSON_CreateString("ID Not Found")); char * pageText = cJSON_Print(jText); char * textJSON = textToJSON(pageText); strcat(buffer, textJSON); free(textJSON); } socket_write_string(client, buffer); socket_close(client);}
开发者ID:lemeshkob,项目名称:Repo1,代码行数:56,
示例28: server_file_parsevoid server_file_parse(socket_t * client){ char html_doc[15000]; char * filename = {"C://Users//User//Desktop//samokh-52//courses//prog_base_2//tests//test_2//Server_kr_app//files//filename.txt"}; if(file_exists(filename)){ char text[10000]; char buf[1000]; char ContentToReceive[10000]; memset(ContentToReceive, '/0', 10000); FILE *f = fopen(filename, "r"); char *word; int i = 0, j = 0; char html_text[15000] ="<!DOCTYPE html> <html> <head>List</head> <body><ol type=/"1/">"; while(fgets(buf, 1000, f) != NULL) { strcat(ContentToReceive, buf); } word = strtok(ContentToReceive, " "); while(word != NULL){ /*j = 0; while(ContentToReceive[i] != ' '){ word[j] = ContentToReceive[i]; j++; i++; }*/ strcat(html_text, "<li>"); strcat(html_text, word); strcat(html_text, "</li>"); puts(word); word = strtok(NULL, " "); } puts("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); strcat(html_text, "</ol>"); strcat(html_text, "</body> </html>"); sprintf(html_doc, "HTTP/1.1 200 OK/n" "Content-Type: text/html/n" "Content-Length: %u/n" "/n%s", strlen(html_text), html_text); } else if(!file_exists(filename)){ char html_text[15000] ="<!DOCTYPE html> <html> <head>File does`not exist</head> <body><ol type=/"1/">"; strcat(html_text, "</body> </html>"); char html_doc[15000]; sprintf(html_doc, "HTTP/1.1 200 OK/n" "Content-Type: text/html/n" "Content-Length: %u/n" "/n%s", strlen(html_text), html_text); } socket_write_string(client, html_doc); socket_close(client); }
开发者ID:samokhvalenko,项目名称:samokh-52,代码行数:56,
示例29: server_sendstatic void server_send(socket_t* client, const char* smth){ char homeBuf[800]; sprintf(homeBuf, "HTTP/1.1 200 OK/n" "Content-Type: text/html/n" "Content-Length: %i/n" "/n%s", strlen(smth), smth); socket_write_string(client, homeBuf); socket_close(client);}
开发者ID:AndrienkoF,项目名称:KPIRepo,代码行数:10,
示例30: server_invPath//FUNCTION THAT PRINTS ERROR MSG//RETURNS: ERROR MSGvoid server_invPath(socket_t * client) { char replyBuf[1024]; char * errText = "Invalid path!"; sprintf(replyBuf, "HTTP/1.1 404 /n" "Content-Type: text/html/n" "Content-Length: %zu/n" "/n%s", strlen(errText), errText); socket_write_string(client, replyBuf); socket_close(client);}
开发者ID:Tayum,项目名称:di0d,代码行数:13,
注:本文中的socket_write_string函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ sockfd_lookup函数代码示例 C++ socket_write函数代码示例 |