Silverlight and TCP - silverlight

Is it possible for Siverlight to communicate directly with an open TCP port on the user's machine?

in a word No.
You can use sockets (and therefore TCP) to communicate with open ports (in a limited range) on the server that is hosting the application, but you cannot connect to any other machines. if you need to interoperate with something on the client machine i would suggest using the new COM interoperability in Silverlight 4 (here is an example)

You can connect to an open TCP port on any machine that serves a security policy file or to any machine, including the local client, if Silverlight runs with elevated privileges.
Elevated privileges are not likely to be problematic as in scenarios like this you are probably developing a line of business application.
At my company I implemented the binary TCP protocol of an RFID server in Silverlight. The server must be connected to the local network and its dns name (or ip address) be known, other than that there is no problem in doing this sort of thing. It is around since Silverlight 3.

Related

Windows Remote Desktop Service Host

from my customer I have the following requirement:
A VMware host shall manage VMs for application clients running on Windows Server 2016. In the plant of the customer there are 75 operators concurrently working with this application.
Therefore, my idea is to create a RDS Host VM which is providing many concurrent Windows sessions. The operators get thin clients and connect via RDP to the hosrt where the application is installed.
Unfortunately I have no experience how to correctly setup the architecture for RDS Host correctly.
From the application developer there is the recommendation to host at maximum 25 sessions per RDS Host. This would mean I need 3 RDS Hosts, that arrange somehow internally which operator is connected via which RDS Host.
How is this connection management performed within RDS? Is there a centralized instance managing it?
What are the virtual hardware requirements for such an RDS Host? Do I just multiply the single session application requirements by 25 ?
In case on host fails, is it possible to dynamically turn on an additional VM that takes over?
Is it correct that I need 75 Device CALs?
Thanks for you help!

How to connect to a sql database from a device connected to a different network

I am developing an app with a login system in flutter. Using postgresql I can access to an external database located in a raspberry. All works perfect until the network of the device changes. So here are my questions:
How can I access to a database from a device connected to a different network? Is that possible?
If not, how could it be the correct way to do it? or what should I read and/or learn to apply this funcionality?
Thank you.
This question is not Postgres specific.
You connect to servers over TCP/IP protocol using servers IP address or it's FQDN, fully qualified domain name. If your device is mobile and changes network, you can use some dynamic IP service or your own name servers.
Setting up a port forwarding system is also possible.

Silverlight calling webapi behind firewall

Silverlight application is sitting on a server which is accessible from internet and WebApi is sitting on a server behind firewall which is not accessible via internet but can be accessible via intranet. Both Silverlight Application Server and WebApi Server can talk in intranet. Is it possible for Silverlight application which is accessed from internet to talk to WebApi?
You simply need to add a firewall rule that allows Green Server to access Red Server at a given port. You can add MAC filters, IP filters, use an ad-hoc IP in a different subnet in the Red Server, expose the API in an unusual port (not 80), use client certificates, expose the API through SSL, and many other things to protect the server inside the firewall and the communication between servers.
That's the mission of the firewall. If not, you'd simply didn't connect the networks through the firewall.

How to connect to a database running on VM?

I got a question here. Seems a little complicated in my mind. Hope I can make myself clear. :)
I have a Win7 system (system A) with a Win7 VM (system B) running on it.
System B is connected to a intranet through VPN to log some realtime data into a local sql server database. Internet connection is disabled by administrator so System B is separated from outside.
Now System A wants to connect to this database and read these realtime data.
Is it possible?
I don't have any experience with vmware, but assuming you can use any VM, here's a solution for VirtualBox:
Setup a network interface on your VM, that's visible to the host
system only (reference):
Host-only networking is another networking mode that was added with
version 2.2 of VirtualBox. It can be thought of as a hybrid between
the bridged and internal networking modes: as with bridged networking,
the virtual machines can talk to each other and the host as if they
were connected through a physical ethernet switch. Similarly, as with
internal networking however, a physical networking interface need not
be present, and the virtual machines cannot talk to the world outside
the host since they are not connected to a physical networking
interface.
Configure port forwarding on system B ([external_port] -> [host_over_vpn]:[service_port])
Connect to [system_B_ip_over_provided_interface]:[external_port] as if you were connecting to the database directly.
yes it is possible. Just give correct IPs.

Communication of VB6 application outside client network with SQL server inside network

Is there way to make the vb6 desktop application which is not on client network to communicate with sql server which is in the client premises?
A far better option (a necessity if the app is for general distribution) is to use an intermediary service, either over web/HTTP or some other (possibly custom) protocol.
If you app is specific to your company/employer for their internal use, then you will need to use a VPN or similar to allow it to work as if it was on the same internal network.
Note that opening up a database server to the wider internet is asking for trouble and should be avoided at all costs.
Easiest would be to use port forwarding on border router to SQL server.
Better would be to encrypt traffic to/from SQL Server like this: IPSec through NAT: Securing SQL Server remote connections

Resources