Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Network Disonnection Messaging

Avatar

Level 1

Hi there ,

We have a project and we need the data to be pushed across differnet flex clients.


we have been facing issues related to network disconnectios. The Consumer component seems to be  working only in some cases.

but in certain cases it's not getting reconnected . we have used the resubscribe attempts set to -1 and resubscribe interval set to 1000 on the consumer.


A little help is required ASAP.

Thanks and Regards,

Kanthi.

1 Accepted Solution

Avatar

Correct answer by
Level 10

Kanthi,

In 3) I should have included a firewall. Is RTMP going through a firewall?

Have you defined resubsribeAttempts or resubsribeInterval properties?

How big are the data messages in your use case?

How about adding filter patterns for logging Endpoint.RTMP, Protocol.RTMP, ... in services-config.xml?

    <logging>

        <target class="flex.messaging.log.ConsoleTarget" level="Debug">

            <properties>

                <prefix>[LCDS] </prefix>

                <includeDate>false</includeDate>

                <includeTime>false</includeTime>

                <includeLevel>false</includeLevel>

                <includeCategory>false</includeCategory>

            </properties>

            <filters>

                <pattern>Endpoint.*</pattern>

                <pattern>Service.*</pattern>

                <pattern>Configuration</pattern>

                <pattern>SocketServer.*</pattern>

            </filters>

        </target>

    </logging>

Steve

View solution in original post

0 Replies

Avatar

Level 10

1) Are you using a channel set?

2) Which primary and secondary channels are you using?

3) Do you have a proxy, load balancer, or router in your network?

Steve

Avatar

Level 1

1) No , We are not using any channel set at the client side.

2) We used two channels. The primary channel is RTMP and the other channel is NIO AMF with streaming.

3) We have not implemented any proxy or load balancer , we do have a router.

At the server side we have implemented the MessageClientListener , so that we can listent when the message client is destroyed.

Awaiting your reply.

Thanks and Regards,

Kanthi.

Avatar

Level 1

Hi Steve ,

Thank you for your reply. We have implemented the channel set in out project but we found no use.

                    channelSet = new ChannelSet();
                
                  rtmpChannel = RTMPChannel(ServerConfig.getChannel('my-rtmp'));
                  channelSet.addChannel(rtmpChannel);
                
                 amfLongPoll = AMFChannel(ServerConfig.getChannel('my-nio-amf-longpoll'));
                 amfLongPoll.pollingInterval = 3000;
                 channelSet.addChannel(amfLongPoll);
                
                 amfStream = StreamingAMFChannel(ServerConfig.getChannel("my-nio-amf-stream"));
                 amfStream.connectTimeout = 3;
                 channelSet.addChannel(amfStream);
                
                
                 amfPoll = AMFChannel(ServerConfig.getChannel("my-nio-amf-poll"));
                 channelSet.addChannel(amfPoll);
                
                 nioHttpStream = StreamingHTTPChannel(ServerConfig.getChannel("my-nio-http-stream"));
                 nioHttpStream.connectTimeout = 3;
                 channelSet.addChannel(nioHttpStream);
                
                 nioHttpLongPoll = HTTPChannel(ServerConfig.getChannel('my-nio-http-longpoll'));
                 nioHttpLongPoll.pollingInterval = 3000;
                   channelSet.addChannel(nioHttpLongPoll);
                
                 nioHttpPoll = HTTPChannel(ServerConfig.getChannel("my-nio-http-poll"));
                 channelSet.addChannel(nioHttpPoll);

this is how we have created the channel set and finally assigned the channel set to the consumer and producers' channelSet.

In a way to diagnose the network disconnection and reconnections we have implemented the consumer's ChannelEvent.

The Channel connection event is fired only initially but not after the net reconnection.

Thanks and Regards,

Kanthi.

Avatar

Correct answer by
Level 10

Kanthi,

In 3) I should have included a firewall. Is RTMP going through a firewall?

Have you defined resubsribeAttempts or resubsribeInterval properties?

How big are the data messages in your use case?

How about adding filter patterns for logging Endpoint.RTMP, Protocol.RTMP, ... in services-config.xml?

    <logging>

        <target class="flex.messaging.log.ConsoleTarget" level="Debug">

            <properties>

                <prefix>[LCDS] </prefix>

                <includeDate>false</includeDate>

                <includeTime>false</includeTime>

                <includeLevel>false</includeLevel>

                <includeCategory>false</includeCategory>

            </properties>

            <filters>

                <pattern>Endpoint.*</pattern>

                <pattern>Service.*</pattern>

                <pattern>Configuration</pattern>

                <pattern>SocketServer.*</pattern>

            </filters>

        </target>

    </logging>

Steve

Avatar

Level 1

Steve,

We do have a firewall on the machine from where the server runs. The resubscribeAttempts is set to -1 and resubscribeInterval is set to 5*1000

The project is very lively one , though the data in our use case on a maximum is about 16KB.

Avatar

Level 1

Steve,

Hi , this is to say that using channel set has solved the network issues that we used face earlier.

Thanks and Regards,

Kanthi.