Я искал везде в руководстве U2 Universe, но я не вижу ни одного примера того, как закрыть соединение после вызова функции submitRequest. Кто-нибудь знает?
Как закрыть функцию submitRequest в U2/Universe
comment
Пожалуйста, опубликуйте фрагмент кода, показывающий, где вы вызываете submitRequest.
- person webthaumaturge   schedule 02.08.2014
comment
Ниже приведен код кода, если errCode равен 0, он вызывает следующий оператор в программе. Строка 232: errCode = setHTTPDefault(версия, 1.1) Строка 250: errCode = creteSecurityContext(securityContext, версия) Строка 268: errCode = addAuthenticationRule(securityContext, 2, VerificationStrength, щедрый) Строка 288: errCode = createSecureRequest(mandrillPostUrl, httpMethod, requestHandle, securityContext) Строка 306: errCode = submitRequest(requestHandle, httpTimeOut, mandrillDcdRec, responseHeaders, responseData, httpStatus)
- person user3464522   schedule 15.08.2014
Ответы (1)
Нет необходимости закрывать соединение, потому что отключение (и подключение) встроено в submitRequest.
Если вы включите ведение журнала протокола, то увидите, что после прочтения всего ответа Universe закрывает соединение как часть submitRequest:
0574: 11/23/2010 16:18:41 [ 7440 6596 ] SSL read: status=NONE,len=7866
0575: 11/23/2010 16:18:41 [ 7440 6596 ] Socket 23dbe20: 7866 chars read
0576: 11/23/2010 16:18:41 [ 7440 6596 ] HTTP_MOREDATA: bytes_read=7866, total_re
ad=16058, bytes_remainig=0
0577: 11/23/2010 16:18:41 [ 7440 6596 ] HTTP_MOREDATA: data completely read
0578: 11/23/2010 16:18:41 [ 7440 6596 ] HTTP_FINISH
0579: 11/23/2010 16:18:41 [ 7440 6596 ] in destroySocket(): socket 23dbe20 refs=
1
0580: 11/23/2010 16:18:41 [ 7440 6596 ] Socket 23dbe20 closed and freed: 0(No er
ror) 0(No error)
0581: 11/23/2010 16:18:41 [ 7440 6596 ] Host 23711e0 freed
Вы также можете увидеть, как Universe открывает соединение как часть submitRequest:
0067: 11/23/2010 16:18:39 [ 7440 6596 ] HTTP_START: timeout=60000
0068: 11/23/2010 16:18:39 [ 7440 6596 ] HTTP_CONNECT
0069: 11/23/2010 16:18:39 [ 7440 6596 ] new host 23711e0:www.example.org:4
43 allocated (proxy:no)
0070: 11/23/2010 16:18:39 [ 7440 6596 ] host www.example.org:443 not found
in hostList
0071: 11/23/2010 16:18:39 [ 7440 6596 ] socket 23dbe20 allocated
0072: 11/23/2010 16:18:39 [ 7440 6596 ] start SSLbinding ...
В качестве полезной справки, вот пример того, как включить ведение журнала протокола:
LOGRECORDID = "MY_LOG_IN_THE_ROOT_OF_THE_ACCOUNT.LOG"
RESULT = protocolLogging(LOGRECORDID,"ON",10)
ERROR = submitRequest(requestHandle, httpTimeOut, mandrillDcdRec, responseHeaders, responseData, httpStatus)
RESULT = protocolLogging(LOGRECORDID,"OFF",0)
person
webthaumaturge
schedule
15.08.2014
Спасибо webthaumaturge за информацию. Мне также нужно изменить заголовки на application/json, поэтому я использовал следующий API, но, похоже, он не работает. Я делаю это правильно? errCode=setRequestHeader(requestHandle, Content-Type, application/json)
- person user3464522; 12.09.2014
Это выглядит правильно для установки заголовка. Вы, вероятно, уже знаете это, но убедитесь, что вы используете этот код перед запуском submitRequest(). Пожалуйста, опубликуйте результат регистрации протокола, если у вас по-прежнему возникают проблемы.
- person webthaumaturge; 15.09.2014