Results 1 to 7 of 7
  1. #1

    can't pass throw firewall on client


    we're having connection issues on installing our application in brokerage houses, they're regulated by strict security standards as they play in the stock market and so these environments are under heavy firewall rules.

    We ask to open port 80 to our server, but it was not enough.

    We need to get some tips and docs to lead in the resolution of these issues.

    We use TLCP over HTTP, retrieving chunked data with a GET command.

    Although the connection is answered correctly by LS server, no response and no bytes arrive on the client.

    Thanks in advance.
    Last edited by rperseguini; December 4th, 2020 at 10:53 AM.

  2. #2
    Join Date
    Feb 2012
    Hi rperseguini,

    Usually in this kind of issue the cause is to be found in some network intermediary that blocks or buffers the answers, preventing the correct reception by the client.
    Are you leveraging websocket or http streaming transport? Or you are just polling the server?
    Can the client at least receive the response to the create_session request, ie. do you get the session ID?

    Could you provide us a snippet of server log reporting the requests of a client attempt?

    You could also refer to the introduction section of this document ( as some considerations about Load Balancer can be applied also to firewall and any other network intermediary.


  3. #3

    Here I have a server log of my connection, we are trying to convince the customer to run tests against our development server where the logs are enabled.

    We use HTTP 1.1 transport with GET, like this:

    http:/<server>/lightstreamer/create_session.txt?LS_protocol=TLCP-2.1.0&LS_cid=mgQkwtwdysogQz2BJ4Ji+kOj2Bg&LS_adapte r_set=CDS_ADAPTER&

    04-Dec-20 09:01:34,739|DEBUG|L.connections |r Lightstreamer HTTP Server|Socket accept from
    04-Dec-20 09:01:34,777|INFO |L.connections |SERVER POOLED THREAD 10 |Accepted HTTP connection on "Lightstreamer HTTP Server" from
    04-Dec-20 09:01:35,094|DEBUG|L.connections.http |SERVER POOLED THREAD 9 |Parsing request:
    GET /lightstreamer/create_session.txt?LS_protocol=TLCP-2.1.0&LS_cid=mgQkwtwdysogQz2BJ4Ji+kOj2Bg&LS_adapte r_set=CDS_ADAPTER& HTTP/1.1
    Content-Encoding: Chunked
    Content-Type: text/plain; charset=ISO-8859-1
    Accept: /
    Accept-Charset: *
    Accept-Encoding: gzip, identity
    User-Agent: Cartezyan/8.0 Mozilla/3.0 (compatible; Indy Library)
    Connection: Keep-Alive

    and my program receives:

    HTTP/1.1 200 OK
    Date: Fri, 04 Dec 2020 12:01:35 GMT
    Server: Lightstreamer-Server/7.0.3 build 1885.8 (Lightstreamer Server - ENTERPRISE edition
    Content-Type: text/enriched; charset=UTF-8
    Cache-Control: no-store
    Cache-Control: no-transform
    Cache-Control: no-cache
    Pragma: no-cache
    Expires: Thu, 1 Jan 1970 00:00:00 GMT
    Content-Encoding: gzip
    x-accel-buffering: no
    Transfer-Encoding: chunked

    At the client's environment, nothings is received, no response, no headers, no data.

    Last edited by rperseguini; December 4th, 2020 at 03:09 PM.

  4. #4
    Join Date
    Feb 2012
    Hi rperseguini,

    I can confirm that the server log would be very helpful as it can confirm whether the create session request is correctly processed and the respective response sent back.
    In that case you can focus on finding out where it gets stuck on its way to the client.

    Anyway, it's not clear to me when you say* "my program" receives the http ok, what are you referring to, is there a sw component between the server and the client?


  5. #5

    Ok, we'll try to make more testes on customer side.

    We have a C++ application that create a session on LS server, subscribe itens, receive realtime data and "puts it on the screen". In this application (my program) we dump to log the headers of HTTP response of create_session.

    I don't know if it makes difference, but we use an Apache server as a reverse proxy to distribute calls to the various services that handles incomming requests.

    We don't have logs enabled in production. When it failed with our customer, I just saw at Apache log that create_session URL was responded with HTTP 200, but nothing was dump to his log file.

    Last edited by rperseguini; December 4th, 2020 at 04:33 PM.

  6. #6
    Join Date
    Feb 2012
    Hi rperseguini,

    Ok. Just a consideration about something unusual we found in the http headers:

    Content-Encoding: Chunked

    "Chunked" is something unexpected, maybe is not related to the issue, but since also the response is "chunked", maybe the body of the response comes slitghly later.


  7. #7
    hi Giuseppe,

    That's right, this header Content-Encoding:Chunked is undocumented and unnecessary. I'll remove this for the next round of tests.

    While Transfer-Encoding: chunked header in response is documented in TLCP guide, its received anyway and indicates a data mode for transferring content.

    thanks a lot.

    Best regards.

    Last edited by rperseguini; December 4th, 2020 at 11:17 PM.



Similar Threads

  1. Java Clent: How to pass headers (custom app info)
    By Digambar in forum Client SDKs
    Replies: 3
    Last Post: August 8th, 2013, 05:10 PM
  2. Replies: 1
    Last Post: March 11th, 2010, 03:53 PM
  3. Tibco proxy pass issue
    By vdhinesh in forum Client SDKs
    Replies: 1
    Last Post: December 7th, 2009, 12:36 PM
  4. Pass arguments from web page to adapter ??
    By mohamida in forum Adapter SDKs
    Replies: 6
    Last Post: November 12th, 2009, 03:03 PM

Tags for this Thread


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT +1. The time now is 11:41 AM.