purebasic.info

PureBasic forum
Текущее время: Вт мар 31, 2020 2:05 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Пн янв 27, 2020 1:05 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Berck писал(а):
Но серьёзный разработчик даст в справку комментарий (ну как минимум такой), что после установки соединения функцией OpenNetworkConnection() обмен по защищённому протоколу не гарантируется и находится в стадии доработки.
Функция делает то что должна, осуществляет подключение к серверу.
А дальше нужно используя SSL протокол осуществлять обмен данными.
С таким же успехом можно розетку винить что утюг не работает как холодильник, но разве розетка в этом виновата? Она осуществляет подключение, а зависимости что в нее подключено (аналогия с протоколом) тот функционал и получим.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн янв 27, 2020 1:23 am 
Не в сети
доцент

Зарегистрирован: Пт май 15, 2015 5:16 am
Сообщений: 47
Благодарил (а): 20 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр писал(а):
Функция делает то что должна, осуществляет подключение к серверу.
А дальше нужно используя SSL протокол осуществлять обмен данными.
С таким же успехом можно розетку винить что утюг не работает как холодильник, но разве розетка в этом виновата? Она осуществляет подключение, а зависимости что в нее подключено (аналогия с протоколом) тот функционал и получим.
Пётр, согласись, что, например, пуриковский HttpRequest() прекрасно отрабатывает по SSL-протоколу безо всяких "бубнов" и есть как минимум логичность в том, что пишущий на Пурике не ожидает "засады" в неполной поддержке SSL функциями из группы "Network". Об этом и должен предупреждать разработчик.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн янв 27, 2020 1:53 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Berck писал(а):
HttpRequest() прекрасно отрабатывает по SSL-протоколу безо всяких "бубнов"
Используется библиотека curl в которой есть код осуществляющий обмен по SSL-протоколу.

OpenNetworkConnection() это несколько вызовов WinAPI. За установку связи отвечают socket и connect.

Если посмотреть что импортируется exe файлом с функцией HttpRequest() видно что те же сетевые функции socket и connect, а также криптографические из ADVAPI32.dll. То есть в библиотеке curl есть аналог OpenNetworkConnection() и код протокола SSL для которого нужны криптографические функции.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн янв 27, 2020 1:54 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Сб мар 28, 2015 11:06 pm
Сообщений: 196
Откуда: Україна
Благодарил (а): 13 раз.
Поблагодарили: 28 раз.
Пункты репутации: 9
Berck писал(а):
Ну раз уж на ты, то как думаешь в чём польза от скриншота в твоём примере? Там "Access denied". При установке соединения должен быть ответ сервака типа {"op":"connection","connectionId":"205-260120155759-273016"}

да, со мной на ты пожалуйста...
а по поводу скриншота, на нём видно что поменялось и в дебаг-окне правильный ответ сервера или код сбросить?

аааа., хостинг картинок может тупить https://i111.fastpic.ru/big/2020/0127/f ... 3b3bf4.png


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн янв 27, 2020 4:57 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Сб мар 28, 2015 11:06 pm
Сообщений: 196
Откуда: Україна
Благодарил (а): 13 раз.
Поблагодарили: 28 раз.
Пункты репутации: 9
если вкратце, то как то так
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
IncludeFile "CkGlobal.pb"
IncludeFile "CkSocket.pb"
 
Procedure ChilkatExample()
  socket.i = CkSocket::ckCreate()
  success.i = CkSocket::ckConnect(socket,"stream-api.betfair.com",443,#True,20000)
 
  receivedMsg.s = CkSocket::ckReceiveString(socket)
  Debug receivedMsg
   
  #JSON = 0
  CreateJSON(#JSON)
  Authenticate = SetJSONObject(JSONValue(#JSON))
  SetJSONString(AddJSONMember(Authenticate, "op"), "authentication")
  SetJSONInteger(AddJSONMember(Authenticate, "id"), 1)
  SetJSONString(AddJSONMember(Authenticate, "appKey"), "APPKEY")
  SetJSONString(AddJSONMember(Authenticate, "session"), "SESSIONTOKEN")
   
  sendMsg.s = ComposeJSON(#JSON) + #CRLF$
  CkSocket::ckSendString(socket, sendMsg)
 
  receivedMsg.s = CkSocket::ckReceiveString(socket)
  Debug receivedMsg
 
  CkSocket::ckClose(socket,20000)
  CkSocket::ckDispose(socket)
  ProcedureReturn
EndProcedure
 
CkGlobal::ckUnlockBundle(CkGlobal::ckCreate(),"NHGeie.CBX1124_jk9Q0B9XAk4v")
ChilkatExample()



Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB