Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

If I copy the "lcds" folder, Tomcat starts with socket errors

Avatar

Level 1

In the documentation it is said that when you create a new server-side application, you can start by copying the 'webapps/lcds' folder. I did that but then, Tomcat starts with some socket errors:

[LCDS]SocketServer 'my-rtmp-SocketServer' failed to pre-validate desired socket settings for BindSocketAddress: 0.0.0.0:2038

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

[LCDS]SocketServer 'my-rtmp-SocketServer' failed to start.

flex.messaging.LocalizedException: SocketServer 'my-rtmp-SocketServer' cannot bind to accept client connections on port '2038' because another process has already bound the port. Please ensure that multiple endpoints across all applications  are not configured to use this same port.

Am I doing something wrong?

Thanks,

Borek

1 Accepted Solution

Avatar

Correct answer by
Level 2

What is happening is that you are getting a port conflict for the socket-based NIO and RTMP endpoints used in the channel definitions in the services-config.xml file of your new web app. The issue is that you have endpoints bound to the same port  in the LCDS web and in your new web app.

You can deal with this one of two ways:

Option 1: In that services-config.xml file, search on "RTMP" and "NIO" to find the channel definitions and change the port numbers to something slightly different than the ones used in the LCDS web app.

Options 2: Move the LCDS web app out of the picture so it doesn't get loaded, and just use a template for future web apps. If you aren't using it for any of your development, there is really no reason you have to load it.

I'll add a note about this to the documentation that talks about using the LCDS web app as a template.

View solution in original post

2 Replies

Avatar

Correct answer by
Level 2

What is happening is that you are getting a port conflict for the socket-based NIO and RTMP endpoints used in the channel definitions in the services-config.xml file of your new web app. The issue is that you have endpoints bound to the same port  in the LCDS web and in your new web app.

You can deal with this one of two ways:

Option 1: In that services-config.xml file, search on "RTMP" and "NIO" to find the channel definitions and change the port numbers to something slightly different than the ones used in the LCDS web app.

Options 2: Move the LCDS web app out of the picture so it doesn't get loaded, and just use a template for future web apps. If you aren't using it for any of your development, there is really no reason you have to load it.

I'll add a note about this to the documentation that talks about using the LCDS web app as a template.

Avatar

Level 1

Thanks that's great. Also, from my point of view, any updates to the documentation regarding the server-side development of LCDS apps will be greatly appreciated.