语言

Menu
Sites
Language
SecureSocket read fail in non-blocking mode

Dear.

I tried to get data from web using secure socket in non-blocking mode.

There was no problem in create, connect and sending data.

But, 'OnSecureSocketReadyToReceive' never get called.

I can see that there was a received data but the socket was closed.

Could somebody help me?

_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2385) > ### OnGioEventCallback ###
_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2405) > ====> [Event] OnGioEventCallback : All GIO event is received.(1).
_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2533) > ====> [Event] This is Secure socket client
_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2537) > ====> [Event] Secure socket event is received.(G_IO_IN).
_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2583) > ====> Socket is not available.(POLLRDHUP)
_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2587) > Amount of data that can be read : 0 bytes. [Fd: 98]
 
 
here is a full log after connect.

--------------------------------------------

INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(124) > ######################################################################
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(125) > ####### Calling callback : OnSecureSocketReadyToSend(SocketFd: 98)
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(126) > ######################################################################
 
INFO / MyTestApp ( 5265 : 5300 ) : virtual void HttpMgr::HttpProcThread::OnSecureSocketReadyToSend(Tizen::Net::Sockets::SecureSocket &)(759) > -----> OnSecureSocketReadyToSend called
 
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(132) > ####### Called callback : OnSecureSocketReadyToSend
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(207) > Exit.
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_SecureSocketImpl::Send(Tizen::Base::ByteBuffer&)(963) > Actually send byte : 96 byte
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3452) > ### Deleted g_source_destroy. (4)
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3456) > Unref the SocketSource.
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3467) > Created the GSource Id : [5]
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3468) > Created the SocketSource for receiving the event. [63]
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_SecureSocketImpl::Send(Tizen::Base::ByteBuffer&)(970) > SocketFd : [98], Set the socketEvent to attach G_IO_OUT condition.
INFO / MyTestApp ( 5265 : 5300 ) : virtual void HttpMgr::HttpProcThread::OnUserEventReceivedN(RequestId, Tizen::Base::Collection::IList *)(874) > Send result(0)
INFO / MyTestApp ( 5265 : 5300 ) : GET ********************************* HTTP/1.1
INFO / MyTestApp ( 5265 : 5300 ) : Host: ***********
INFO / MyTestApp ( 5265 : 5300 ) : Accept: */*
INFO / MyTestApp ( 5265 : 5300 ) : 
 
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2385) > ### OnGioEventCallback ###
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2405) > ====> [Event] OnGioEventCallback : All GIO event is received.(4).
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2533) > ====> [Event] This is Secure socket client
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2714) > ====> [Evesnt] Secure socket event is Received.(G_IO_OUT).
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(97) > Enter.
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(112) > SocketFd(98), EventType(NET_SOCKET_EVENT_WRITE)
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(124) > ######################################################################
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(125) > ####### Calling callback : OnSecureSocketReadyToSend(SocketFd: 98)
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(126) > ######################################################################
 
INFO / MyTestApp ( 5265 : 5300 ) : virtual void HttpMgr::HttpProcThread::OnSecureSocketReadyToSend(Tizen::Net::Sockets::SecureSocket &)(759) > -----> OnSecureSocketReadyToSend called, all data sent to server 
 
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(132) > ####### Called callback : OnSecureSocketReadyToSend
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(207) > Exit.
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2385) > ### OnGioEventCallback ###
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2405) > ====> [Event] OnGioEventCallback : All GIO event is received.(4).
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2533) > ====> [Event] This is Secure socket client
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2714) > ====> [Evesnt] Secure socket event is Received.(G_IO_OUT).
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3452) > ### Deleted g_source_destroy. (5)
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3456) > Unref the SocketSource.
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3467) > Created the GSource Id : [6]
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3468) > Created the SocketSource for receiving the event. [59]
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2720) > SocketFd : [98], Set the socketEvent to release G_IO_OUT condition in OnGioEventCallback.
INFO / Tizen::Net::Sockets ( 5265 : 5302 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3467) > Created the GSource Id : [6]
INFO / Tizen::Net::Sockets ( 5265 : 5302 ) : result Tizen::Net::Sockets::_GlibSecureSocketInfo::SetSocketEvent(Tizen::Net::Sockets::_SecureSocketImpl*, Tizen::Net::Sockets::HSocket)(3468) > Created the SocketSource for receiving the event. [63]
INFO / Tizen::Net::Sockets ( 5265 : 5302 ) : virtual Tizen::Base::Object* Tizen::Net::Sockets::_SecureSocketImpl::Run()(2341) > SocketFd : [98], Set the socketEvent to attach All condition.
 
 
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2385) > ### OnGioEventCallback ###
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2405) > ====> [Event] OnGioEventCallback : All GIO event is received.(1).
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2533) > ====> [Event] This is Secure socket client
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2537) > ====> [Event] Secure socket event is received.(G_IO_IN).
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2583) > ====> Socket is not available.(POLLRDHUP)
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : static gboolean Tizen::Net::Sockets::_SecureSocketImpl::OnGioEventCallback(GIOChannel*, GIOCondition, void*)(2587) > Amount of data that can be read : 0 bytes. [Fd: 98]
 
 
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(97) > Enter.
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(112) > SocketFd(98), EventType(NET_SOCKET_EVENT_CLOSE)
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(150) > ######################################################################
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(152) > ####### Calling callback : OnSecureSocketClosed(SocketFd: 98, NetSocketClosedReason: E_SUCCESS)
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(153) > ######################################################################
ERROR / Tizen::Net::Sockets ( 5265 : 5300 ) : Tizen::Net::Sockets::NetSocketClosedReason Tizen::Net::Sockets::ConvertClosedReason(result)(110) > errorCode : [E_SUCCESS] converted to NetSocketClosedReason : [NET_SOCKET_CLOSED_REASON_NORMAL]
INFO / MyTestApp ( 5265 : 5300 ) : virtual void HttpMgr::HttpProcThread::OnSecureSocketClosed(Tizen::Net::Sockets::SecureSocket &, Tizen::Net::Sockets::NetSocketClosedReason)(735) > OnSecureSocketClosed
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(160) > ####### Called callback : OnSecureSocketClosed
INFO / Tizen::Net::Sockets ( 5265 : 5300 ) : virtual void Tizen::Net::Sockets::_SecureSocketEvent::FireImpl(Tizen::Base::Runtime::IEventListener&, const Tizen::Base::Runtime::IEventArg&)(207) > Exit.
----------------------------

 

编辑者为: Brock Boland 17 3月, 2014 原因: Paragraph tags added automatically from tizen_format_fix module.

响应

1 回复
wil smith
If you can share a sample code/project somebody can help you in a better way.