Created
May 9, 2016 19:27
-
-
Save astrcomp/eca76a1b5f263ac0849bac2510fd4e1d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include "Header.h" | |
| #include <stdio.h> | |
| using namespace std; | |
| DWORD WINAPI SexToClient(LPVOID client_socket); | |
| char *ReadFileHTML(wchar_t str[],int &FileSize) | |
| { | |
| DWORD dwCounter; | |
| HANDLE io = CreateFile(str, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); | |
| FileSize = GetFileSize(io, NULL); | |
| printf("file size = %d \n", FileSize); | |
| char *bodyhtml = new char[FileSize + 1]; | |
| ReadFile(io, bodyhtml, FileSize, &dwCounter, NULL); | |
| bodyhtml[FileSize] = 0; | |
| CloseHandle(io); | |
| return bodyhtml; | |
| } | |
| int countMass(char str[]) | |
| { | |
| int wordsize = 0; | |
| while (str[wordsize] != NULL) ++wordsize; | |
| return wordsize; | |
| } | |
| int nclients = 0; | |
| int main() | |
| { | |
| char *index; | |
| int size=0; | |
| index = ReadFileHTML(L"index.html",size); | |
| system("color 0a"); | |
| WSADATA wsaData; | |
| WSAStartup(0x0202, &wsaData); | |
| printf("%s \n",wsaData.szSystemStatus); | |
| SOCKET servsocket; | |
| servsocket = socket(AF_INET, SOCK_STREAM, 0); | |
| sockaddr_in SocketAddr = {AF_INET,htons(80),INADDR_ANY, }; | |
| bind(servsocket, (LPSOCKADDR)&SocketAddr, sizeof(SocketAddr)); | |
| SOCKADDR_IN socketclientaddr; | |
| int client_addr_size = sizeof(socketclientaddr); | |
| listen(servsocket, 0x100); | |
| SOCKET ClientSocket; | |
| while ((ClientSocket = accept(servsocket, (LPSOCKADDR)&socketclientaddr, &client_addr_size))) | |
| { | |
| nclients++; | |
| DWORD thID; | |
| char buff[424]; | |
| char BUFF[4] = { 0 }; | |
| int bytes_recv = recv(ClientSocket, &buff[0], sizeof(buff), 0); | |
| printf("buff = %d \n byterecv = %d", countMass(buff),bytes_recv); | |
| buff[bytes_recv] = '\0'; | |
| printf("%s", buff); | |
| send(ClientSocket, "HTTP/1.1 200 Ok\r\n", 17, 0); | |
| send(ClientSocket, "Content-length: ", 16, 0); | |
| _itoa_s(size, BUFF, 10); | |
| send(ClientSocket, BUFF, countMass(BUFF), 0); | |
| send(ClientSocket, "\r\nContent-type: text/html; charset=UTF-8\r\nConnection: keep-alive\r\n\r\n", sizeof("\r\nContent-type: text/html; charset=UTF-8\r\nConnection: keep-alive\r\n\r\n") - 1, 0); | |
| send(ClientSocket, index, size, 0); | |
| bytes_recv = recv(ClientSocket, &buff[0], sizeof(buff), 0); | |
| printf("%s", buff); | |
| bytes_recv = recv(ClientSocket, &buff[0], sizeof(buff), 0); | |
| printf("%s", buff); | |
| // CreateThread(NULL, NULL, SexToClient, &ClientSocket, NULL, &thID); | |
| } | |
| WSACleanup(); | |
| return 0; | |
| } | |
| DWORD WINAPI SexToClient(LPVOID client_socket) | |
| { | |
| printf("connect %d \n", nclients); | |
| SOCKET my_sock; | |
| my_sock = ((SOCKET *)client_socket)[0]; | |
| char buff[424]; | |
| char BUFF[4]; | |
| //scanf("%s", BUFF); | |
| int bytes_recv = recv(my_sock, &buff[0], sizeof(buff), 0); | |
| printf("%s", buff); | |
| send(my_sock, "HTTP/1.1 200 Ok\r\n", 17, 0); | |
| send(my_sock, "Content-length: ", 16, 0); | |
| //_itoa(sizeof("<html xmlns=\"http://www.w3.org/1999/xhtml\"><title></title>\r\n<script language=\"javascript\" type=\"text / javascript\">var xmlHttp = new XMLHttpRequest object;\r\nfunction callServer() { var zipCode = document.getElementById(\"zipCode\").value;\r\n var url = \" / scripts / getZipCode.php ? city = \" + escape(zipCode); xmlHttp.open(\"GET\", url, true);\r\n xmlHttp.send(null);\r\n }\r\n</script>\r\n<body>TEST1<form><p>City: <input type=\"text\" name=\"city\" id=\"zipCode\" size=\"25\" onChange=\"callServer();\" /></p></form></body></html>")-1, BUFF, 10); | |
| send(my_sock, BUFF, sizeof(BUFF) - 1, 0); | |
| send(my_sock, "\r\nConnection: keep-alive\r\n\r\n", sizeof("\r\nConnection: keep-alive\r\n\r\n") - 1, 0); | |
| send(my_sock, "<html xmlns=\"http://www.w3.org/1999/xhtml\"><title></title>\r\n<script language=\"javascript\" type=\"text / javascript\">var xmlHttp = new XMLHttpRequest object;\r\nfunction callServer() { var zipCode = document.getElementById(\"zipCode\").value;\r\n var url = \" / scripts / getZipCode.php ? city = \" + escape(zipCode); xmlHttp.open(\"GET\", url, true);\r\n xmlHttp.send(null);\r\n }\r\n</script>\r\n<body>TEST1<form><p>City: <input type=\"text\" name=\"city\" id=\"zipCode\" size=\"25\" onChange=\"callServer();\" /></p></form></body></html>", sizeof("<html xmlns=\"http://www.w3.org/1999/xhtml\"><title></title>\r\n<script language=\"javascript\" type=\"text / javascript\">var xmlHttp = new XMLHttpRequest object;\r\nfunction callServer() { var zipCode = document.getElementById(\"zipCode\").value;\r\n var url = \" / scripts / getZipCode.php ? city = \" + escape(zipCode); xmlHttp.open(\"GET\", url, true);\r\n xmlHttp.send(null);\r\n }\r\n</script>\r\n<body>TEST1<form><p>City: <input type=\"text\" name=\"city\" id=\"zipCode\" size=\"25\" onChange=\"callServer();\" /></p></form></body></html>") - 1, 0); | |
| //xmlHttp.onreadystatechange = updatePage; \r\n | |
| send(my_sock, "HTTP/1.1 200 Ok\r\n", 17, 0); | |
| send(my_sock, "Content-length: ", 16, 0); | |
| // _itoa(sizeof("<html>TEST2<script language=\"javascript\" type=\"text / javascript\">var xmlHttp = new XMLHttpRequest();< / script></html>"), BUFF, 10); | |
| send(my_sock, BUFF, sizeof(BUFF) - 1, 0); | |
| send(my_sock, "\r\n\r\n", sizeof("\r\n\r\n") - 1, 0); | |
| send(my_sock, "<html>TEST2<script language=\"javascript\" type=\"text / javascript\">var xmlHttp = new XMLHttpRequest();< / script></html>", sizeof("<html>TEST2<script language=\"javascript\" type=\"text / javascript\">var xmlHttp = new XMLHttpRequest();< / script></html>") - 1, 0); | |
| ZeroMemory(buff,424); | |
| buff[423] = '/0'; | |
| bytes_recv = recv(my_sock, &buff[0], sizeof(buff), 0); | |
| printf("%s", buff); | |
| bytes_recv = recv(my_sock, &buff[0], sizeof(buff), 0); | |
| printf("%s", buff); | |
| bytes_recv = recv(my_sock, &buff[0], sizeof(buff), 0); | |
| printf("%s", buff); | |
| nclients--; | |
| printf("-disconnect %d\n",nclients); | |
| closesocket(my_sock); | |
| return 0; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment