Add support for localAddress option of net.Socket#141
Open
peschuster wants to merge 2 commits intoSuperFlyTV:developfrom
Open
Add support for localAddress option of net.Socket#141peschuster wants to merge 2 commits intoSuperFlyTV:developfrom
peschuster wants to merge 2 commits intoSuperFlyTV:developfrom
Conversation
mint-dewit
reviewed
Sep 2, 2019
src/lib/CasparCGSocket.ts
Outdated
| private _client: net.Socket | ||
| private _host: string | ||
| private _port: number | ||
| private _localAddress: string |
Contributor
There was a problem hiding this comment.
The typings here should be string | undefined I think, since that's how you define it in the public interface
Contributor
Author
There was a problem hiding this comment.
I just copied the behavior/style of the host field, but I think your right: localAddress should probably not have a default value from the IPv4 address space. This might break attempts to connect to an IPv6 host. I will have a look at this but need to do some more testing.
Contributor
Author
There was a problem hiding this comment.
I fixed it and did some tests with the new default value undefined.
8fcdabe to
8f0ca08
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Feature
What is the current behavior? (You can also link to an open issue here)
It is not possible to bind the client to a local address.
When multiple CasparCG clients run on the same host only one of them can receive OSC data from the CasparCG server, because CasparCG always sees the same sender address for the AMCP connection.
What is the new behavior (if this is a feature change)?
This feature allows to specify a local address for the casparcg-connection.
Therefore a host with multiple addresses in the same subnet can run multiple CasparCG clients, bound to distinct IP adresses and therefore all receiving OSC data from the CasparCG server.
Other information
Tested with official CasparCG release "2018-12-29 - Version 2.2.0 Stable" and used in production at two multi day events during the last months with CasparCG as video playout server and generator for lower thirds with the following clients: https://github.com/peschuster/casparcg-hyperdeck