Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am not sure if this is the correct forum to ask this but i am not sure where to ask either. So here is my question:
what does "deep ping" mean. I tried google but still did not get any information about it. Also who does deep ping mean in web servlet`s context. Thanks.
I'm not sure it's the "official definition" if there is such a thing, but I've head "deep ping" used about functionality that allows you to (in contrast to a regular ping) send a message to the server that passes through as much of the webstack as possible before returning an "ok" response.
As an example, you can make a ping transaction that passes from the network straight down the stack to the database and there does a dummy select to read the ok from a dummy table and return that result. That allows you to (in contrast to a "normal ping" that tests only the network) have confidence that all layers in the application including the database are actually alive.
- Ping is one of the most basic and useful network commands. It sends request to networked computer and waits for response. It’s easy to ping single PC but it’s pain to ping dozens (or even hundreds) of them.
- The process of Pinging the entire Subnet which can have N nos of PCs are known as Deep Ping. Network scanners are usually used to do this....
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I built up my server for my app which is running on Android. And i will hear some opinions from you if the setup is acceptable or complete wrong. So the architecture works like request-respone.
The user will log-in, every app start and will get a new session id.
The client and the server does not have a keep-alive connection. The connection is getting cut every request. For every command on the server, the session id need to get checked first, and then the command or request can be calculated. After everything is done the connection will cut. I was thinking about something that the connection will be held to the server and this gives me the possibility to send from the server some data directly to the client. This could have many usages. But on the other hand its not thread "able". Because i will have to synchronize the socket access and share 1 socket object between all classes and activity, this isnt in my opinion a good way. But am still wondering how other apps or online games could sent data or messages directly to the client. This means that a connection is held. I think that they doing it seperated in a service or something like this. This a new problem im facing. I could use firebase cloud messaging, but this is very slow when more as 100 threads are running on the server. A better solution where, to code a second server program, which is running seprated from the main server and keeps a connection to the client. This would be my solution.
What i just want to know if my architecture is good to go or its a bad idea.
In my opinion, opening and closing the connection is a good practice, because the connection is relatively an expensive resource.
So, I would say that yes, you're good to go with the architecture that you currently have implemented.
Open connection
Execute operation
Close connection
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
What i am trying to do is an app similar to teamviewer using java.I was thinking to get the Input stream (monitor's) and send it to client so that the other machine can show the screen. I learnt that kernel acts as an interface between hardware and software, and i end up asking about kernel's interaction. can u plz give me the idea so that i can get things done..
Am i doing things wrong??
Please help me out..
You can use a ScheduledExecutorService to perform an action or task after a specific delay (or at a specific time).
This is how you can trigger a thread and therefor the processor to perform instructions at a given time.
I was thinking to get the Input stream (monitor's) and send it to client so that the other machine can show the screen.
For this sort of question is it not to useful to think in terms of what the kernel is actually doing other than to not you can't pass an InputStream from one process to another, let alone one machine to another.
What you can do if establish a socket connection between the two machines and copy the InputStream into the Socket connection. At the other end you will get an InputStream which has all the data the original InputStream has.
I learnt that kernel acts as an interface between hardware and software, and i end up asking about kernel's interaction.
The kernel's role is to control and manage the TCP socket and the network adapter. The JVM interacts with the kernel for you so you don't need to know all the details, in fact you don't need to know the actual system call used which is useful as it can be different on different OSes.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
My problem is the following, I have two servers from which I have to transfer files, in both directions. The transfer is triggered by a file creation event (on respective sides). The problem is one server has a public IP, the other one doesn't.
I have implemented a socket client that sends a file over a socket, and a socket server which receives and saves it. (Working part)
My questions are : How to keep the socket 'alive' and send some data to the client after a file-system event occured on the server-side ? (Can the server call the client without knowing it's public IP ?)
Can I achieve this with socket technology or should I go for something else like RMI ?
The problem I see is not really an implementation issue. The problem is that you want to keep the client without a fixed address. If you had a fixed IP, I suppose there would be no problem. Right? As you probably understand there is no easy way for a computer to be called without having an address.
An option would be to use an middle solution, wrapping your non-fixed IP with a DNS able to refresh. You could use a service like dyndns to get a domain name which will actually redirect each packet to the real IP. Your router would have to be configured accordingly in order to refresh the IP to the dyndns servers each time it changes.
Another option, would be to use the websockets paradigm which now is part of HTML5. This way, the server would be able to push content to the client whenever he wanted it.
All of the above solutions depend heavily on your detailed scenario and I cannot by anyway guarantee that what I suggest is the best solution. Actually, I would strongly suggest to get a fixed IP which is a lot costless and cleaner solution than the ones I describe.
Hope I helped!
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I would like to read the League Of Legends chat during a match and log it all to a file.
Though I do not have the slightest idea how to actually connect to the server and read the chat.
Does anyone have a link or an idea how to accomplish this?
Regards
You'll have to do some reverse-engineering, since the game's source code is not available. This is likely illegal based on your local laws.
You'll need to use a tool such as Wireshark to figure out how packets are encoded and what is being sent. You'll likely see text strings some of the time, cluing you in to what is happening. By sorting packets and seeing their frequency when doing certain actions, you may be able to deduce what packets must be sent for authentication, keepalive, and chat, and what packets must be listened for.
You can then build a Java implementation using Socket or DatagramSocket for TCP or UDP, respectively, depending on what the original uses. This is quite a bit of work, however, a a major (and did I say possibly illegal?) undertaking. Even with games where the source is available, redeveloping arcane network protocols is difficult and due to lack of information, will require quite a bit of hardwiring (using byte arrays often) for parts of packets.
Just so you're aware, this is probably illegal and I'm fairly certain they'll close your account for this.
The author of this post, Stack Exchange (inc), Stack Overflow, any affiliated parties, or organizations, will not be held liable for any legal consequences you may face. You may choose to do this at your own risk
Edit: You could try to use Robot and simple OCR or text extraction of some sort. It's still a somewhat questionable activity from the standpoint of game administrators and not too reliable.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 1 year ago.
Improve this question
I've got the login name of my computer using System.getProperty("user.name"). However, I need the logins of other computers whose IPs I've already got using InetAddress. How do I do it? Displaying the System. properties of all the IPs doesn't display their login names.
Thanks in advance!
All the PCs run on Linux.And I'm looking for the currently logged in user on other machines on the LAN.
I'm pinging all the machines on my LAN to see if a machine is alive. I get it's IP and I want to get its login name as well.
If you were able to do this "out of the box", this would be a huge security hole in the system. Just think about it. And then we don't even get to the problem of multiple users logged in on the machines.
So without further clarification this question is just too vague.
You can actually log on to the machines in a secure way using ssh, for example, and query the list of logged in users. You need to generate ssh keypairs and use some Java terminal library that can do the login programmatically and issue commands for you.
We actually have a product that works like this (for different purposes), and we use a 3rd party SSH library to do the hard work for us.
Or, as an alternative, you can implement and install your own "logged-in-users" daemon that you can connect to, perhaps install it as a web application, but then again, you need to use proper authentication to make your service safe to use. This latter solution however requires that an application or at least a web server is running on each machine that you want to query.
The best possible solution would be to install a software that will listen to a fixed port on the machine. Once you have the machine's address, the program can gather the information and send it back. Other than that, there's no such feature that exists, for various and obvious reasons.
However, even this solution does not guarantee that there will be a listening socket on the listed IP (the software is not guaranteed to be running), so without more information about what exactly you are trying to do, this answer is as vague as the question.