Author |
Message
|
dprogwmb |
Posted: Mon May 28, 2012 12:33 pm Post subject: TCPIP Nodes - Timout Receive |
|
|
Voyager
Joined: 19 Jul 2011 Posts: 96
|
Hi all
I've a flow that's communicating to an application behind TCP IP...
I'm communicating to an TCP Server, with this information: 172.26.49.142:45013
The communication is Synchronized... so I'm using TcpClientOutput and TcpClientRecieve with that IP and Port configured...
But the problem is that I'm getting a timeout response with my Message Broker flow... but using the telnet program, of my windows 7, it works fine with the same message...so it's responding something.
I've my windows firewall down...
I've tested using the TCP Configurable Service and setting Minimum number of connections to 1, but it didn't work ...
Any ideas? Why am I getting the timeout Response?
PD: I've taken as example the TCPIPClient Flows that comes with the toolkit...
Regards everybody!! |
|
Back to top |
|
 |
dprogwmb |
Posted: Mon May 28, 2012 3:57 pm Post subject: mmm... I found something |
|
|
Voyager
Joined: 19 Jul 2011 Posts: 96
|
I've made a packaging intercepting, with wireshark...and the response of the TCP server application comes from a port distinct from the initial port request setted from the TCP Client Out node of the broker...
Can the TCP Client Receive node, be setted to use the same "negotiation" port from the TCP Communication established between the Message Broker flow and the external Application ?
Is there any way to achieve that?
The TCP Server application is a HSM, so it sends the reponses from the first free port that it finds... that why I need to find a way to use the same connection, without hardcoding the Port of the response message from the TCP Server Application.
Regards... |
|
Back to top |
|
 |
dprogwmb |
Posted: Tue May 29, 2012 6:07 am Post subject: Any ideas... |
|
|
Voyager
Joined: 19 Jul 2011 Posts: 96
|
Has anybody had a problem similar like this one?
Is there any way to use the same connection , without needing to set the port, in a TCP Client Receive node?
Or do I have to use a Java Compute node and made it to the "old fashioned way"?
Regards. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue May 29, 2012 6:15 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Quote: |
TCPIP nodes do not directly create or manage any TCP/IP connections, but acquire them from the connection manager's internal pool. For example, two output nodes using the same connection details share the same connection manager. The TCPIP nodes can define the connection details to be used by specifying the following values: Host name and port |
Port number must be included. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
smdavies99 |
Posted: Tue May 29, 2012 6:56 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Are you closing the connection after receiving a message? _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
dprogwmb |
Posted: Tue May 29, 2012 7:10 am Post subject: Not receiving response... only seeing response by a Sniffer |
|
|
Voyager
Joined: 19 Jul 2011 Posts: 96
|
smdavies99 wrote: |
Are you closing the connection after receiving a message? |
I'm not getting the response from The server in the Message Broker Flow:(... because the server sends the response by differents TCP Port numbers generated randomly... so I can't tell the node TCP Client Receive the exact port number of the response message.
I only see the respose is in a different port randomly generated, by my Sniffer program.
How can I solve that problem of not knowing the port of the respose in the TCP Client Receive? Is there any way ? (in Java you use the same connection but the response can come from any port... you only need to set the port on the TCP Request... )
Regards |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 29, 2012 7:13 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
|
Back to top |
|
 |
dprogwmb |
Posted: Tue May 29, 2012 7:22 am Post subject: Yes that's my question |
|
|
Voyager
Joined: 19 Jul 2011 Posts: 96
|
Yes, that's my question ... and how can I know at runtime the port negociated in the connection? Is there any way ?
I've made a debug and there's nothing regarding the receiver port in the LocalEnvironment... so I think there's no way... or may be there's some way of doing that but I didn't find it -i hope so-...
I've read the documentation of the nodes, but I haven't found anything for my problem...
If someone has any idea... please post it...
Regards everybody! |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 29, 2012 7:41 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
There's comments in a couple of places about settings on the TCPIPClientOutput to reserve the connection.
It is simply not possible that the Server application chooses a port at random and gives any of it's clients absolutely no information about which port to use. |
|
Back to top |
|
 |
dprogwmb |
Posted: Tue May 29, 2012 7:57 am Post subject: Java compute... ? |
|
|
Voyager
Joined: 19 Jul 2011 Posts: 96
|
mqjeff wrote: |
There's comments in a couple of places about settings on the TCPIPClientOutput to reserve the connection.
It is simply not possible that the Server application chooses a port at random and gives any of it's clients absolutely no information about which port to use. |
I've tested all of the possibilities regarding Reserving the connection in the TCP Output Node, but no one worked.
So I'm starting to think to use a Java Compute node to communicate (write and read) from the socket connection...  |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 29, 2012 8:14 am Post subject: Re: Java compute... ? |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
dprogwmb wrote: |
mqjeff wrote: |
There's comments in a couple of places about settings on the TCPIPClientOutput to reserve the connection.
It is simply not possible that the Server application chooses a port at random and gives any of it's clients absolutely no information about which port to use. |
I've tested all of the possibilities regarding Reserving the connection in the TCP Output Node, but no one worked.
So I'm starting to think to use a Java Compute node to communicate (write and read) from the socket connection...  |
You should open a PMR.
Unless the Server includes Java code that already does what you are expecting, it's not clear that you have enough information to accomplish what you're trying to do even with Java code. |
|
Back to top |
|
 |
|