Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2021, 14:46
Интересующийся
Отправить личное сообщение для s868 Посмотреть профиль Найти все сообщения от s868
 
Регистрация: 18.11.2021
Сообщений: 18

обмен данными через тср на низком уровне
программой hercules (сервер) открыл порт 80, своей программой на JS по нажатию кнопки делает коннект на свой "сервер" и отправку короткой текстовой строки "test_text",


$.ajax({
url: 'http://192.168.0.3:80',
dataType: 'text',
type: 'POST',
data: 'test_text',
success: function(data) {alert(data)},
})
});






вижу получение сервером этой строки "test_text" и перед ней длинный заголовок

POST /aaa HTTP/1.1
Host: 192.168.0.3
Connection: keep-alive
Content-Length: 27
Accept: text/plain
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Origin: null
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7



Вопросы:
1. какое поле $.ajax (и как) нужно настроить, чтоб данные "test_text" шли без заголовка?
2. если со стороны сервера (отправка ручками с программы, которая эмулирует сервер) шлется пакет в программу на js, не вызывается коллбэк функция (о которой я тут спрашивал ранее). для того чтоб она вызывалась - нужен заголовок какой-то?

на низком уровне обмен произвольными данными через ajax невозможен?
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2021, 15:05
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,774

Просто "ваш сервер" должен сам разбирать, где заголовки, где тело запроса.
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2021, 15:18
Интересующийся
Отправить личное сообщение для s868 Посмотреть профиль Найти все сообщения от s868
 
Регистрация: 18.11.2021
Сообщений: 18

сейчас для тестирования стоит программный сервер, позже - будет аппаратное устройство, которое работает со своим протоколом и под этот протокол надо будет подстраиваться.
если впереди будет заголовок в сотни байт - устройству это может не понравиться
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2021, 18:55
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,774

Не думаю, что из браузера можно послать запрос совсем без заголовков.
Из Node можно.
Ответить с цитированием
  #5 (permalink)  
Старый 25.11.2021, 15:41
Интересующийся
Отправить личное сообщение для s868 Посмотреть профиль Найти все сообщения от s868
 
Регистрация: 18.11.2021
Сообщений: 18

скажите пожалуйста, как задать задержку при отправке данных на сервер

$.ajax({
url: 'http://192.168.0.3:80',
dataType: 'text',
type: 'POST',
data: 'test_text',
success: function(data) {alert(data)},
})
});


кажется сокет сразу после отправки закрывается и данные не успевают приняться, т.е. колбак-функция не вызывается
Ответить с цитированием
  #6 (permalink)  
Старый 25.11.2021, 15:47
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,267

Сообщение от s868
колбак-функция не вызывается
Так может там ошибка у тебя...
Там еще можно коды возвращаемые посмотреть и при ошибке управление получить...
https://basicweb.ru/jquery/jquery_method_ajax.php
Ответить с цитированием
  #7 (permalink)  
Старый 25.11.2021, 15:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,267

Сообщение от s868
как задать задержку при отправке данных на сервер
Что ты понимаешь под задержкой отправки?

Задержку можно сделать используя setTimeout()...
Ответить с цитированием
  #8 (permalink)  
Старый 26.11.2021, 10:46
Интересующийся
Отправить личное сообщение для s868 Посмотреть профиль Найти все сообщения от s868
 
Регистрация: 18.11.2021
Сообщений: 18

доброго времени суток, покажите пожалуйста фрагмент кода

$.ajax({
url:

который открывает соединение, запрашивает страницу сайта google.com и при получении нтмл-кода страницы - выводит первые 100 символов функцией alert c таймаутом 5сек (и закрывает сокет)
спасибо
Ответить с цитированием
  #9 (permalink)  
Старый 26.11.2021, 11:03
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,267

Сообщение от s868
и закрывает сокет
Так ты как-то открываешь сокет... Потом отправляешь запрос... После получения ответа сокет закрываешь.
Так?
Ответить с цитированием
  #10 (permalink)  
Старый 26.11.2021, 11:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,267

Сообщение от s868
выводит первые 100 символов функцией alert c таймаутом 5сек
Это так же не понятно...
Алерт останавливает выполнение скрипта. Типа следующий алерт должен появляться через 5сек?
Сколько таких алертов по 100 символов?

Или алерт один. Но выводить ответ он должен через 5 секунд после получения ответа?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обмен сообщениями через chrome API Nikolay37 Events/DOM/Window 3 20.09.2017 13:21
Обмен данными с windows приложением webgame Оффтопик 4 02.02.2016 03:42
кроссдоменный обмен через анонимайзер + фрейм Deff Ваши сайты и скрипты 5 13.01.2013 23:24
Обмен значений переменных через фреймы kodoo Events/DOM/Window 8 05.11.2012 00:04
Кросдоменный обмен данными buhuru Общие вопросы Javascript 4 22.08.2008 10:53