iOS/iPhone How to ping a server ip address? - iphone

everyone
I create a Bonjour browser to find local server,I can collect many host name,and parser the IP.
But when the network is not stable , I can't find any server in local network...
But if you use ping to find server , it never failed to get server IP
Is there a way to ping external server without using Bonjour or give a host name ???
If I can't get the host name now , how to get all the server IP in local network ???
Thanks for all reply or answers.
Here is the search result I found
Checking For Internet Connectivity in Objective C
Ping with iPhone SDK
Webber

If you want ping your local host server with IP address I recommend:
SimplePingerHelper
.
For more information about this class go to: http://www.splinter.com.au/how-to-ping-a-server-in-objective-c-iphone/
Add method to perform every second and delegate to check success or failure.

Related

How does a client socket application identify the server application on the same host computer

I have been trying to learn socket programming in C++ and got some progress for the basics. But I understood that basics are not fundamentals.
One of those fundamentals is about the question which is stated in the title. Lets say I have two separate applications running on the same computer. One of them has a server socket and the other one has a client.
When the server gets an IP address automatically, how can client find the server? Do I have to assign an IP address that is known by the client? In that case, maybe that IP address is not available on the network.
Or can client find and connect to the server by sone kind of name or id?
Have the server bind to all interfaces and have the client lookup 'localhost' by name; it's resolved locally, (ie. no external DNS service required), to an IP address stored in a 'hosts' file, and is set by default to 127.0.0.1
Google 'hosts file'
The IP address of any server in the same host is 127.0.0.1 unless the server has bound to a specific, different IP address. As #MartinJames points out, you can use 'localhost' as the hostname for that, except on certain broken Linux distributions.

Can't connect to my webserver from external source

I am having problems connecting to my website from a source outside my local network. I had another server before running the same site. The only difference is the old one was FreeBSD and now I'm trying it on Linux.
Here is my setup: I'm using Apache2. The server is behind a Netgear router. I'm using a Freedns host name. I have ddclient updating my ip.
Here is what happens: I can look at my site from the server in Chrome or my phone connected to the local wifi. It works using either the host name or ip address. It does not load from my cell phone or from my desktop using a proxy for either the host name or the ip address (the external one from googling my ip and from the router's wan info page). When I try the proxy with the host name I get "conection timed out" error, and when I try the ip address I get "couldn't connect to host error".
Here is what I've tried: I enabled port forwarding to the server from and to port 80 to my lan ip address. I disabled the firewall on the server. I double checked that the host name is directed to the right ip address. I ensured that the ip address does indeed point to my router. I've watched wireshark on my server while trying to connect and don't see any incoming requests when I try to load it from my phone.
It seems like maybe my port forwarding isn't working, but on my router it says that that port forwarding rule is active.
I'm out of ideas as to why what else could be going wrong.

how to get server ip of PPP connection

After establishing a PPP connection using rasdial (making a dial-up call), how do I get the 'server ip' address that is given to me. It's usually a local ip, but I cannot seem to get it when I do an ipconfig.
However I can see this IP address, if I right click on the connection and select status.
This question has been asked in the past, but by .NET and C# users and their solution is using a certain available library, which I don't have.
Does anyone know how to obtain the PPP server ip? I need that IP address to initiate an FTP traffic with the modem.
I established the connection this way :
system (rasdial [connection_name]); # in perl.
Thanks!
I think your best best is to hook into the Windows API calls with Win32::API. You probably want to start with RasEnumConnections.

Connecting to Local Web Server when I am Outside my LAN

I have a web server running out of my home. I have assigned it an address such as 192.168.1.123 on port 80.
I understand that this is running on my local network. If I go to another computer on my network and type in the server's ip address, I can see the server.
Is there a way to access this server from outside my LAN?
Yes, you need to set your router to forward connections to port 80 to your internal IP address (192.168.1.123). Look for Port Forwarding on your router admin screen which I would imagine you access by going to http://192.168.1.1
Keep in mind that your ISP may block port 80 completely in which case you can run your web server on a different port (for example por 8180) and have your router forward connections to port 8180 to your internal IP.
To access your server from outside, you just need to point your browser to your external IP address which you can find out by going to http://www.ipchicken.com
Assuming you have a connection to the internet:
https://github.com/progrium/localtunnel
is a quick way to access your local server from the internet. There might be similar implementations in other languages/platforms. This is just the one I know about.
Remember that security issues need to be carefully considered when opening your local network to the world.
If you use a PHP Webserver you can set it this way:
php -S <YourIPAdresse>:<SomePortNumber> <StartPHPpage>
Example: „php -S 192.168.1.123:9000 index.php"

Mobile App Connecting to my local web server

Looking for assistance on why I can access my local web server when I'm on my wireless network but not from my mobile phone (when not connected to wifi). I have tried using dyndns, wan ip, regular ip address but I can't see to grasp what I should be doing. I have my MAMP server running and php on 8888 for which the appropriate php file runs successfully when I'm logged into my network. I'm just trying to access this now from the public domain and I'm not sure what i need to do.
Any help would be greatly appreciated!!
Thanks,
Dan
You need to get your router to forward the external requests to the correct internal computer & port.
I.e. any external requests to port 8888 should be forwarded to your computer's IP address on port 8888. Most routers will have this option in the admin panel somewhere.
[EDIT]
This website might be able to help - http://portforward.com/english/routers/port_forwarding/routerindex.htm