I developed some simple microservices that take data from a MongoDB database and return them in JSON format.
The database is on my machine, and so are the microservices.
When I start a microservices I can access data on my machine, for example connecting to
http://localhost:7003/projects
on my browser.
I want to get the data from my mobile phone too. So I connected it to the same network, and from my computer, using the ipconfig command I found that the IP address of the pc is 192.168.1.63
If I try to connect to http://192.168.1.63:7003/projects I can't get the data, though.
I searched for some solutions but I found nothing. Am I skipping some step?
Related
This is my first attempt at deploying a Node.js application on a Google VM instance while connecting to MongoDB.
In MongoDB, I have whitelisted my IP address and the VM instance's IP address. When I start my server using Google Cloud Shell, I receive the following error:
op.cb(new error_1.MongoNetworkError(`connection ${this.id} to ${this.address} closed`));
^
MongoNetworkError: connection 1 to 34.71.95.215:27017 closed
I'm connecting on port 8080. The external IP is listed on my GCP instance page and when I ping it, it is up. IP: 34.68.254.120
When I whitelist 0.0.0.0/0 in Mongodb, the code runs successfully, and I can preview my app through GCP.
I created a new instance from scratch, and it also crashes with the same error.
ETA: In looking at the source code around the error message at:
...\node_modules\mongoose\node_modules\mongodb\lib\cmap\connection.js
it looks like a closed connection. The error message above spits out the IP address as the Iowa Google Data Center where my VM is housed.
I don't know what this means, but if you do, please let me know.
ETA2: I have 2 problems, and they may be connected. The first is that my VM server cannot connect to MongoDB. This should be simple -- whitelist the external IP address of my VM server. It does not work (I have to open MongoDB to 0.0.0.0/0 for it to connect).
The second is that I cannot connect to my server via the external IP address, regardless of whether MongoDB is connected or not. It "refuses to connect." I can do a web preview of my running server, though.
It seems the two may be connected somehow. I've rebooted my VM, but it did not fix anything. I whitelisted the error message IP address in MongoDB, but it did not help.
ETA3: Okay, it appears I have solved the whitelist to MongoDB issues. Through Cloud Shell, I asked my VM what the IP is. It is different than the one GCP tells me is the external IP. By adding this IP to the whitelist, I can connect between GCP VM and MongoDB. Whew. No idea why.
The VM's external IP address through my browser still gives me a cannot connect message, and when I use the new VM IP address I found through Cloud Shell, it gives me a "took too long to respond" message.
So I feel I have made progress. The remaining problem is accessing my server through Chrome.
Any suggestions on how I can investigate the issue further? I'm at a dead end. I believe the problem is likely simple given my inexperience.
Thanks!
Problem solved by a friend, for anyone in the future with this issue.
I had set up my GCP VM using Cloud Shell. I had housed my code by coping my repository through Cloud Shell. It turns out, this is more of a virtual interface with my VM, and the files are not physically on my VM. I needed to go through SSH, clone my repository there, and run my server through SSH. Cloud Shell was causing the problem.
Trying to establish a data connection using REST from QlikCloud account to a locally running application. I get an errror:
Connection to local resources is not allowed
The application running on my laptop is having a REST API enabled.
I was not able to use QlikSense Desktop so I had to login through the browser to QlikCloud.
I also tried giving the ipaddress of my laptop instead of localhost. It still throws as error:
Connection to http://<ip_address>:1000/v1/documents?uri=/csv/myFile.csv is not allowed
Should I be running my application only on a server? Any help is appreciated.
The data connections are "executed" in the context of the Qlik Engine. Which means that when specifying localhost the connection will try and load the data from the machine where the Engine is running. In Qlik Cloud case - this will be some machine in Qlik's cloud.
You can:
use QS Desktop (you've mentioned that this is not working for you)
host your service somewhere on the interned where the Engine can reach it
use some service (like ngrok) that can tunnel the local server to a public url which then access from Qlik
I am trying to connect 3 beckhoff plc's to my MySQL database on gcloud.
1 plc is on our home network, the 2 other is on 2 different mobile sites, and are connected via mobile network(4g/3g)
The 1 plc connects with out any difficulty.
The 2 plc's that is connected via a mobile networks will not connect. They return with a timeout error.
I suspect that is because of how mobile networks work, that makes it, that i can not just add them to my "Authorized networks".
Is it just me and are the a way to connect to my MySQL server on gcloud?
Background:
I started a google cloud account yesterday to try it out. So this might just be a problem of me not understanding the service.
You can use the Google Cloud SQL proxy, which uses service account credentials to authenticate connections to your database.
You could also manually configure an SSL certificate and use that instead.
I made an app using the barcoding for inventory management, now i need to transfer that data to the computer. For this purpose i used TCP/IP Host client sample applications given in windows mobile 6.5.3 SDK samples.
When i run the application its' fine no errors, shows connected to the Host IP but no data is transferred, When i debugged there is no exception code just works fine but there is no functionality performed. My connection is USB connection. IP shown in host application is correct, my device is also having IP (check through ipconfig). Now when i ping my host computer from device, it is giving error
PING: transmit failed, error code 11010
Is my approach right towards this situation using this data transfer over this socket ? If yes then how can i make this connection successful ? If not what is the other solution for this data transfer from device to computer. (software on device is using SQL CE and application on computer is ASP.NET application using SQL Server database.)
I saw various similar questions about this problem but unable to find any suitable solution. PS i am new this platform of windows mobile/embedded
If not what is the other solution for this data transfer from device
to computer. (software on device is using SQL CE and application on
computer is ASP.NET application using SQL Server database.)
These are some common solutions for client/server communications on Windows Mobile:
Use RAPI or RAPI2 to communicate with the mobile device and host PC using the USB ActiveSync/Windows Mobile Device Center connection. You could use this option to export a CSV file from the mobile device to the host PC. Then you can import the CSV file into the host database. Requires physical access to host PC via USB.
Call a web service to transmit the data to the server. You can write a simple RESTful web service using ASP.NET Web API. If you're using C++ you can use WinInet API, but it's kind of painful. If you're using C# then you have built-in support and it's not an issue.
Use SQL CE Replication.
I would like to do my study practice.
To install the multiservers seperating on multiple vm -web server in first vm ,app server in second and db server in the last vm .then,I will create my own webpage to test about accessing data in db .Each of vm is based on VMware in my computer and just do it on localhost environment.not need to connect internet.
How can I do this or Where can I find any Tutorial .Plese give me some suggestion to finish my project ^^"
Thank u very muchh
Just like what you do in physical machines. And IMHO, your question is too general and has nothing to do with virtual machines. I think what you are looking for is how to setup a web server and how to use a database. Why not check the sites such as nginx or apache and mysql or postgresql ?
First of all you need to run all the machines and connected with each other.
By doing this you'll get IP addresses of those machines..
Now simply replace your IP addresses with localhost according to server
Note that every machine must have an appropriate server