GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.16 (40)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Кароч решил я снова заняться программированием
IvanVlaskin1976
Сообщений: 9878
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 0:43
Цитата:
Автор: daner
Понятно "Пилите, Шура, она золотая. Пилите!"

ваабще какие претензии
ваш сервер даже не скомпилировался, написал нет cmake
[Ответ][Цитата]
daner
Сообщений: 4593
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 1:20
Изменено: 14 июл 22 1:25
Цитата:
Автор: IvanVlaskin1976


ваабще какие претензии
ваш сервер даже не скомпилировался, написал нет cmake


потому что надо cmake установить. обычно любой программер на убунту устанавливает
sudo apt install build-essential
который включает, все основные инструменты компиляции и сборки.
в принципе cmake можно и так
sudo apt install cmake
а boost так
sudo apt install libboost-all-dev

у меня вообще никаких претензий.

я уже лет 15 на Kubuntu (ну иногда Ubuntu или Xubuntu) всех версий работаю. ничего не глючит.
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9878
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 1:42
пробовал я
# apt install cmake
ошибку выдает

я Kubuntu то поставил потому что вы Qt новый разрекламировали, а если он такой глюкозавр ну его на фиг
[Ответ][Цитата]
daner
Сообщений: 4593
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 1:53
Изменено: 14 июл 22 1:53
Цитата:
Автор: IvanVlaskin1976

пробовал я
# apt install cmake
ошибку выдает

я Kubuntu то поставил потому что вы Qt новый разрекламировали, а если он такой глюкозавр ну его на фиг


sudo apt install cmake

глюки все от вас.
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9878
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 3:16
Цитата:
Автор: daner
sudo apt install cmake

глюки все от вас.

я ж сказал, я
$ su сделал
и уже потом
# apt install cmake
он выдал ошибку
какая разница вообще sudo или su ?
[Ответ][Цитата]
гость
185.195.71.*
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 3:35
Цитата:
Автор: Tester64


Ищи технологию ajax.

var re = new XMLHttpRequest()
re.onreadystatechange = function(){
if(re.readyState != 4)return
if(re.status != 200) return
console.log(re.responseText)
}
re.open('GET', url, true)
re.send(null)

XMLHttpRequest уже моряльно устарел, уже лет 5 все fetch юзают


async function loadurl(url, body) {
let response = await fetch(url, {
method: 'POST', //GET
body: body
});
return await response.text();


sendjs.onclick = async function () {
res.innerText = await loadurl("url", PostMethod.Get);;
}
А html формой отправка перезагружает страницу, это не всегда то что надо
[Ответ][Цитата]

Сообщений: 25
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 5:07
Цитата:
Автор: daner

вот, качайте, разбирайтесь.
https://we.tl/t-4OYmaRLLz9


Чето тоже не получилось от туда качнуть, страница с рекламой какая то. Лучше гуггл-драйв, дробокс, или менее "модный" сервис вроде https://my-files.su/

От https://hdd.tomsk.ru/desk/plqyzssj сюда качнул, дешево и сердито.

Ну, что сказать…

Если Вы хотели "научить" как делать веб сервера, то задача выполнена на двойку, при всём уважении. Ваш код это скорее этакое бравирование новомодными фичами с++ от 14 и выше версии, да ещё плюс бустом, который по общему мнению, как же по мягче это сказать… для эстетов языка. То есть без мануала не догадаешься почему так вывернулись, а в правильном языке всё должно быть интуитивно понятно, по крайней мере к этому нужно стремиться, но не в бусте, где весь новый "сахар" и архитектурные патттерны сразу же юзаются где надо или нет и даже простые вещи сделаны как то уж очень витеевато.

Это всё делает код тяжелым для восприятия, словно речи Эммануила Канта, даже для тех кто лет 10 назад был топовым спецом по С++. Над простой по бинес-логике алгоритмом придётся корпеть в 2-3 раза дольше, чем можно было бы. Вопрос зачем ???

Если же хотите показать класс, то напишите сервер на чистых Сях, все Вас поймут и через 50 лет, а буст и всю это сладкое синтаксическое остроумие и 5 лет не продержится в тренде, заменится новым, более вычурным, которое тоже затем отфильтруется естественным отбором.
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9878
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 5:18
радует конечно что POST заработал, но чото мне тяжко
я даже подступится не знаю как к УЭС, что выводить и как
с другой стороны в океан HTML вступать страшно, ведь это надо выводить где статично, а где и динамично, а как это реализовать?
и самое противное, все эти HTML-ы в один файл надо запихивать
или в самом деле, плюнуть на один файл, сделать веб-сервер с функциями УЭС и нормальными страничками?
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9878
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 5:21
Цитата:
Автор: Ω
Ну, что сказать…

Если Вы хотели "научить" как делать веб сервера, то задача выполнена на двойку, при всём уважении. Ваш код это скорее этакое бравирование новомодными фичами с++ от 14 и выше версии, да ещё плюс бустом, который по общему мнению, как же по мягче это сказать… для эстетов языка. То есть без мануала не догадаешься почему так вывернулись, а в правильном языке всё должно быть интуитивно понятно, по крайней мере к этому нужно стремиться, но не в бусте, где весь новый "сахар" и архитектурные патттерны сразу же юзаются где надо или нет и даже простые вещи сделаны как то уж очень витеевато.

Это всё делает код тяжелым для восприятия, словно речи Эммануила Канта, даже для тех кто лет 10 назад был топовым спецом по С++. Над простой по бинес-логике алгоритмом придётся корпеть в 2-3 раза дольше, чем можно было бы. Вопрос зачем ???

Если же хотите показать класс, то напишите сервер на чистых Сях, все Вас поймут и через 50 лет, а буст и всю это сладкое синтаксическое остроумие и 5 лет не продержится в тренде, заменится новым, более вычурным, которое тоже затем отфильтруется естественным отбором.

истину глаголишь боярин
он меня на этом ещё хотел заставить программировать
у меня чуть мозги на бекрень от такого кода не встали
[Ответ][Цитата]
гость
104.244.73.*
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 5:58
Зачем изобретать велосипед? Всё уже давно украденно за нас.

https://dev-notes.eu/2018/06/http-server-in-c/




#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <netdb.h> // for getnameinfo()

// Usual socket headers
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

#include <arpa/inet.h>

#define SIZE 1024
#define BACKLOG 10 // Passed to listen()

void report(struct sockaddr_in *serverAddress);

void setHttpHeader(char httpHeader[])
{
// File object to return
FILE *htmlData = fopen("index.html", "r");

char line[100];
char responseData[8000];
while (fgets(line, 100, htmlData) != 0) {
strcat(responseData, line);
}
// char httpHeader[8000] = "HTTP/1.1 200 OK\r\n\n";
strcat(httpHeader, responseData);
}

int main(void)
{
char httpHeader[8000] = "HTTP/1.1 200 OK\r\n\n";

// Socket setup: creates an endpoint for communication, returns a descriptor
// -----------------------------------------------------------------------------------------------------------------
int serverSocket = socket(
AF_INET, // Domain: specifies protocol family
SOCK_STREAM, // Type: specifies communication semantics
0 // Protocol: 0 because there is a single protocol for the specified family
);

// Construct local address structure
// -----------------------------------------------------------------------------------------------------------------
struct sockaddr_in serverAddress;
serverAddress.sin_family = AF_INET;
serverAddress.sin_port = htons(8001);
serverAddress.sin_addr.s_addr = htonl(INADDR_LOOPBACK);//inet_addr("127.0.0.1");

// Bind socket to local address
// -----------------------------------------------------------------------------------------------------------------
// bind() assigns the address specified by serverAddress to the socket
// referred to by the file descriptor serverSocket.
bind(
serverSocket, // file descriptor referring to a socket
(struct sockaddr *) &serverAddress, // Address to be assigned to the socket
sizeof(serverAddress) // Size (bytes) of the address structure
);

// Mark socket to listen for incoming connections
// -----------------------------------------------------------------------------------------------------------------
int listening = listen(serverSocket, BACKLOG);
if (listening < 0) {
printf("Error: The server is not listening.\n");
return 1;
}
report(&serverAddress); // Custom report function
setHttpHeader(httpHeader); // Custom function to set header
int clientSocket;

// Wait for a connection, create a connected socket if a connection is pending
// -----------------------------------------------------------------------------------------------------------------
while(1) {
clientSocket = accept(serverSocket, NULL, NULL);
send(clientSocket, httpHeader, sizeof(httpHeader), 0);
close(clientSocket);
}
return 0;
}

void report(struct sockaddr_in *serverAddress)
{
char hostBuffer[INET6_ADDRSTRLEN];
char serviceBuffer[NI_MAXSERV]; // defined in `<netdb.h>`
socklen_t addr_len = sizeof(*serverAddress);
int err = getnameinfo(
(struct sockaddr *) serverAddress,
addr_len,
hostBuffer,
sizeof(hostBuffer),
serviceBuffer,
sizeof(serviceBuffer),
NI_NUMERICHOST
);
if (err != 0) {
printf("It's not working!!\n");
}
printf("\n\n\tServer listening on http://%s:%s\n", hostBuffer, serviceBuffer);
}

[Ответ][Цитата]
гость
104.244.73.*
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 6:06
Цитата:
Автор: IvanVlaskin1976


с другой стороны в океан HTML вступать страшно, ведь это надо выводить где статично, а где и динамично, а как это реализовать?
и самое противное, все эти HTML-ы в один файл надо запихивать
или в самом деле, плюнуть на один файл, сделать веб-сервер с функциями УЭС и нормальными страничками?
Делайте как получится, а потом по меере роста опыта подправите, не нужно ничего бояться, html каждая кухарка освоит без проблем за пару недель
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9878
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 6:22
от спасибочки за ещё один Веб-сервер
он похоже даж проще чем мой
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9878
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 7:16
не, он похоже тупо на любое к нему обращение файл в порт выводит, даже если это не GET, а POST
такой сервер меня не устраивает, остановлюсь на первоначальном варианте
[Ответ][Цитата]
гость
104.244.73.*
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 8:53
Цитата:
Автор: IvanVlaskin1976

не, он похоже тупо на любое к нему обращение файл в порт выводит, даже если это не GET, а POST
такой сервер меня не устраивает, остановлюсь на первоначальном варианте
Ну так это "hello world" пример, чтобы принцип продемонстрировать, без лишних либок и новомодных приёмчиков, уже что в ответ выдавать и как парсить компоненты запроса то уже вам самому видимо нужно реализовать.
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9878
На: Кароч решил я снова заняться программированием
Добавлено: 14 июл 22 9:45
Цитата:
Автор: гость
Ну так это "hello world" пример, чтобы принцип продемонстрировать, без лишних либок и новомодных приёмчиков, уже что в ответ выдавать и как парсить компоненты запроса то уже вам самому видимо нужно реализовать.

Тут бы я сильно поспорил
Это как нефритовый телефон Старика Хотабыча - всем хорош, только не позвонишь
[Ответ][Цитата]
 Стр.16 (40)1  ...  12  13  14  15  [16]  17  18  19  20  ...  40<< < Пред. | След. > >>