Discussion:
[omniORB] lost of TCP communications
Aida Fátima Cano
2007-01-23 19:04:20 UTC
Permalink
Hello

I have the following code in my client and server applications

A client blocks in the second line
ServerToClient RequestToServer;
Accepted = RequestToServer.Request();

while the server is waiting the user to click "Yes" or "No" buttons of a
MessageBox
CORBA::Booelan ServerToClient_i::Request()
{
if ( Message.DoModal() == IDOK )
{
return true;
}
else
return false;
}

Then, could someone tell me what omniorb does if the TCP connection falls
down while the message box is visible, but the user don't click any button?
Does the thread dissapear?

I have put a breakpoint where the client blocks itself, then I have
disconnected the net wire of the server computer. I have connected it again,
then press the "Ok" button of the messageBox, but the client application
doesn't continue its ejecution.

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20070123/c5344951/attachment.htm
Duncan Grisby
2007-01-28 22:17:06 UTC
Permalink
Post by Aida Fátima Cano
I have the following code in my client and server applications
A client blocks in the second line
ServerToClient RequestToServer;
Accepted = RequestToServer.Request();
while the server is waiting the user to click "Yes" or "No" buttons of a
MessageBox
CORBA::Booelan ServerToClient_i::Request()
{
if ( Message.DoModal() == IDOK )
{
return true;
}
else
return false;
}
Then, could someone tell me what omniorb does if the TCP connection falls
down while the message box is visible, but the user don't click any button?
Does the thread dissapear?
No, the thread won't go away until your code returns to omniORB and the
thread tries to send a reply across the now non-existent connection.
Post by Aida Fátima Cano
I have put a breakpoint where the client blocks itself, then I have
disconnected the net wire of the server computer. I have connected it again,
then press the "Ok" button of the messageBox, but the client application
doesn't continue its ejecution.
You might try running client and server with arguments -ORBtraceLevel 25
-ORBtraceInvocations 1 -ORBtraceThreadId 1 . That will show you what's
going on with the connections.

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Aida Fátima Cano
2007-02-05 16:14:44 UTC
Permalink
Hello

I've done what you recommended me, and now I know better what happens. When
the TCP connection falls down, omniOrb traces shows the following:


omniORB: (3) Error in network receive (start of message): giop:tcp:
192.168.2.114:3112
omniORB: (3) throw giopStream::CommFailure from giopStream.cc
:874(0,NO,COMM_FAILURE_UnMarshalArguments)
omniORB: (3) Server connection refcount = 1
omniORB: (3) Server connection refcount = 0
omniORB: (3) Server close connection from giop:tcp:192.168.2.114:3112

omniORB: (3) AsyncInvoker: thread id = 3 has exited. Total threads = 4


Could you please tell me what I may do to recconect this application.
Because it works as client and as server, I don't know if the two
connections brokes because the TCP error. Sometimes, when I reconnect the
wire and press the Yes or No buttons, the answer reaches the other PC, and I
thougt it would never occur.


Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20070205/55a4894f/attachment.htm
Continue reading on narkive:
Loading...