I'm trying to understand how the choice of the bonjour domain will influence device discovery on the network. I find the documentation somewhat unclear on some points, and would like to ask for clarification.
From here:
Most network service browser clients do not have to use this method—it is sufficient to publish a service with the empty string, which registers it in any available registration domains automatically."
This seems like a recommendation. Lets put a pin on that.
From here:
#""—Registers the service in the default set of domains. Pass this value unless you have a specific reason not to."
Reforces the recommendation, but what does this mean? What's the default set of domains? And what does that imply?
From the same link:
#"local"—Registers the service only on the local network. Pass this value if you need to prevent publishing your service over Back to My Mac or wide-area Bonjour.
What does publishing "over Back to My Mac or wide-area Bonjour" mean? Should I use this if I'm using bonjour for proximity only? Doesn't this contradict the recommendation?
Also from the same link:
A user-specified domain—Registers the service in only the specified domain.
I actually tried this and the service doesn't even get advertised on the network. I get a call to the delegate method netServiceWillPublish: and that's it, nor didPublish nor didNotPublish are called afterwards. Is there a strict set of domains that can be used? I'm using simple names, like test.
Basically, it's still very unclear to me what the domain name accomplishes on the network. How does it influence the discovery process? Ou does it influence service matching? Does it have consequences on network performance? I know these seem like a lot of questions, but mostly, I think that if I understand what domains are for most of them will go away. Hopefully :)
Best.
Related
I would like to add a feature to my rails (5.0.1) application and have it only available on a certain wifi network.
Is there a way of finding out what wifi network the user is on?
Thank you!
Your question doesn't provide quite enough context. The short answer is "probably not how you want to." The long answer is:
If you're concerned about what network a user of your application is on, you can use request.remote_ip to get the remote IP,
If you're concerned about where your application is deployed, you can run a system command to get the current Wifi SSID (or equivalent) and run a check against that
Edit: Per your comment you want the ability to ensure that the user is only using it on your private network.
One way you can do this is to make the application not accessible from the outside world. This is a better question for something like serverfault.com
It's simply not possible to detect what Wifi network name they're connected to from Rails, or from Javascript (exceptions apply). But, you can, with a little sysadmin work, detect that they're connected to an IP within your private network.
I have a Gatling load test that does a huge call to a webservice, and I can get response time information nicely, the problem is that all calls are done as a single user, thus cannot see the amount of concurrent users from Jennifer5 monitoring tool. I've searched but couldn't find a way to make multiple unique IP users to call this webservice, thus showing me the amount of concurrent users in the monitoring tool, however approximate that value would be.
I've found this page but this does not work at all, what should I do? I do not wish to switch to JMeter now, even though I think it does have this capability
As per the forum you are referring to
Note that, of course, you won't be able to do IP spoofing, but only use valid IP aliases.
So given your Scala code is correct you must have all the simulated IP addresses present in your operating system. Theres is a possibility to have more than one IP address on a physical network interface via IP aliasing, refer to your operating system documentation in order to learn how set additional addresses up. You may also find Using IP Spoofing to Simulate Requests from Different IP Addresses with JMeter guide interesting
I have a strange szenario:
Webserver / Appserver (Java) sends requests to many different satellite systems (on customers site). Only satellite systems can initiate connection due to firewall rules.
The model I think should be something like REQ/REP, but here the REQuester have to bind and the REPlyer would have to connect.
Is this possible and a stable architecture?
Are there better solutions? (We first had WebSockets in mind...)
Remark: we don't have to use Java on both ends. To be precise on customers site we have Delphi, but we could bridge it somehow.
The model I think should be something like REQ/REP, but here the
REQuester have to bind and the REPlyer would have to connect.
This will be problematic. When the server initiates the connection, it must be aware of all peers and their bind address. Not a big deal for a handful of peers, but for many peers changing constantly, it's a mess.
Only satellite systems can initiate connection due to firewall rules.
If that's the case, your mileage will vary with WebSockets; google around, lots of info on this.
Are there better solutions?
Well, with ZeroMq, one solution that comes to mind to support client request initiation is this:
Server binds with ROUTER
Clients connect with DEALER.
This approach offers bi-directional request/reply, does not block (asynchronous), and eliminates the client-side bind problem mentioned in your question. Here, the server binds, and either side can initiate the conversation.
I recommend reading this section in the guide, it covers extended async request/reply and message enveloping, important when using ROUTER/DEALER sockets.
I want to be able to show (by device) open/blocked status for a given protocol between two devices/ports on a network. In other words, I need to output a list of network devices (firewalls & switches) between Server A and Server B and indicate whether the request should (according to each device's rules) be allowed through or blocked.
I'm starting with the Cisco networking devices, which are centrally managed by Cisco's Security Manager (CSM) application (version 4.2). I'm new to network management automation programming and want to make sure I'm not overlooking an obvious best way to handle this.
So far it's looking like I'll need to periodically export and ETL device rules out of CSM (they have a perl script that I can call to do this I believe) and into a separate database, then write some custom SQL code to determine which devices on a route between two hosts/ports will allow or block traffic of the given protocol?
Am I on the right track, or is there a better way to go about this?
If I understood your question, I think you can run a TCL script inside the Cisco equipments do collect the necessary information and transfer it to a central server, form there import it to a database and then correlate that information.
Hope that helps you in your work.
I have a Windows Service that I want to monitor. Let's say this service may suddenly lose it internet connection, without the host system knowing.
I need a reliable online monitoring service that allows me to send a "I'm still alive" signal to, having them send me a mail, if my service has not "reported in" within the last X minutes.
All services I can find are regular monitoring services that connects to my website/service to see if they're running. I'm looking for a provider that allows me to do the opposite.
This seems like an insanely simple service, and I cannot understand how I cannot find anything usable anywhere? :\
you need newrelic.
Either use the client, or build your own custom instrumentation. You can do probably anything you like.
Update :
Another option is scoutapp.
Probably same features but with plugins.
Fiveruns was another option but I guess the are not in business anymore.
I can understand these features sound too much for your simpler scenario, why not build something for your own? All you need is a service that accepts a post and send an email to you.