Connect TV, peripherals to PC in another room

BatLine

Member
Hello, I want to purchase a new PC wich will be running 24/7 as some sort of server, running Windows 10. If I want to do something on this desktop, I will connect to it trough Teamviewer, Remote Desktop Connection. But I also want to use my TV as a screen sometimes to watch a movie or something. My question is now, how do I connect that pc (trough ethernet?) with the TV in another room, and use a keyboard and mouse (wireless?) ?
 

NieuwRetroGamer

Senior Member
Hello BatLine, and welcome on the HWI forum:)
If you have a recent TV, you can use Mirracast to wireless connect your PC to your TV.
https://en.m.wikipedia.org/wiki/Miracast

And if a standard wireless keyboard and Mouse not working for that distance, or there is a wall, you can use a recent Bluetooth keyboard and mouse. It's pretty stable through a wall with a good recent Bluetooth device.
 

BatLine

Member
I don't think my tv supports Mirracast... I want to turn the TV on, click a few things or turn something else on and make conenction to the PC that way, I don't want to go to the PC first to connect each time to the TV.
And when I think about the WDA v2, I notice that the optimal range is about 7 m. I need a little more then that. Thats why I prob need something with an ethernet connection
 

joz

Senior Member
maybe just split it in 2 devices, like most people do?
What you're trying to do will be cumbersome at best. It will be buggy,not user friendly and also expensive (especially the display signal part that has to be carried over a bigger distance, but also the input part since wireless mice/keyboard through walls will not work with most peripherals).
Just buy a server/NAS machine and buy a seperate HTPC type device, such as a RaspBerry Pi (the 4 just came out, pretty good deal) or maybe (more expensive option) a nVidia Shield.

How I do it for years already, and I don't see the need to have it all done by one device. It makes things easier on multiple levels.
Also a server with a fully loaded OS with all the GUI stuff, is just stupid. Install a linux distribution with only a terminal, or if you really need Windows, you can nowadays also install Windows Server with just a powershell. You waste performance for running all that GUI stuff.
If you do a headless server setup, you can buy lower cost parts for that machine.
I will connect to it trough Teamviewer, Remote Desktop Connection
Why would you use TeamViewer!? Windows has remote desktop built into the OS... TeamViewer sents everything through their servers! That has the upside you don't need to protforward anything (since it's being routed over port 443, basically the internet port), but the downside is that everything (display, input, sound) gets routed through one of their servers (at least with the free variant)...
 
Laatst bewerkt:

BatLine

Member
maybe just split it in 2 devices, like most people do?
What you're trying to do will be cumbersome at best. It will be buggy,not user friendly and also expensive (especially the display signal part that has to be carried over a bigger distance, but also the input part since wireless mice/keyboard through walls will not work with most peripherals).
Just buy a server/NAS machine and buy a seperate HTPC type device, such as a RaspBerry Pi (the 4 just came out, pretty good deal) or maybe (more expensive option) a nVidia Shield.

How I do it for years already, and I don't see the need to have it all done by one device. It makes things easier on multiple levels.
Also a server with a fully loaded OS with all the GUI stuff, is just stupid. Install a linux distribution with only a terminal, or if you really need Windows, you can nowadays also install Windows Server with just a powershell. You waste performance for running all that GUI stuff.
If you do a headless server setup, you can buy lower cost parts for that machine.

Why would you use TeamViewer!? Windows has remote desktop built into the OS... TeamViewer sents everything through their servers! That has the upside you don't need to protforward anything (since it's being routed over port 443, basically the internet port), but the downside is that everything (display, input, sound) gets routed through one of their servers (at least with the free variant)...
Nvidia Shield! That's it, and if I want to stream something from that desktop or want to play a game, I can use Plex & GeForce now!

& BTW, i'll need a Windows OS with GUI for the 'server', I'll use it as some sort of NAS (I have a real NAS already but I'll use this to), I'm 17 and I like programming, so I often create a program that communicates trough a server I made, witch uses a GUI so I'll be using this desktop for these programs and other stuff.
Thanks for the answer ^^
 

joz

Senior Member
Nvidia Shield! That's it, and if I want to stream something from that desktop or want to play a game, I can use Plex & GeForce now!
Doesn't have to be a Shield to accomplish both. Steam also has streaming support, and there are addons for Kodi to stream games with Steam, such as;
https://steamcommunity.com/app/353380/discussions/6/1744479698816363430/
But what you suggest also works. Depends on your budget, a RPI definitely is cheaper (for say 50 euro you can get one, a Shield is roughly 100 euro more expensive).
I'm 17 and I like programming, so I often create a program that communicates trough a server I made, witch uses a GUI so I'll be using this desktop for these programs and other stuff.
If you like programming, try programming stuff for Linux ;) I see no valid reason why a server has to have a graphical shell.
I'm programming as well as a hobby and work, and most stuff I run on the server is headless (no GUI). The clients that communicate with the server usually are graphical.
Also a server can serve webpages ofcourse, if you really need a graphical interface.
 

BatLine

Member
The lastest thing I made were several clients that connect to a server, and a 'manager', in the managers you can do stuff (for ex. Send a message) then that will get send to the server (has GUI) and the server will send it to the correct cliënt (the one the manager has Currently selected) and then the client does whatever it is coded to do with that string.
For this I use the library networkcommsdotnet so it's a lot easier for me. How would I be able to use a Linux server using networkcommsdotnet?
 

joz

Senior Member
networkcommsdotnet is a .NET standards library, so it would be usable on .NET Core which you can run on Linux, see;

"NetworkComms.Net is a high performance cross-platform network library written in C#, with the purpose of being used in all .NET Framework compatible languages, C#, VB.Net, F#, J#, C++/CLI etc. Applications using this network library can be deployed on iOS, Android, WP8, Linux and Windows based platforms."

But that's a bit advanced and tricky to setup though.

What I would do in what you sketched is setup a website for the manager part, so you can run the server headless and doens't need a GUI shell.
If you really need to use that library (which you don't, but hey, depends on how much effort you want to put into that to change things), you would need to run it on .Net core or Mono. The library can be used inside a .NET Core website.
 

BatLine

Member
networkcommsdotnet is a .NET standards library, so it would be usable on .NET Core which you can run on Linux, see;

"NetworkComms.Net is a high performance cross-platform network library written in C#, with the purpose of being used in all .NET Framework compatible languages, C#, VB.Net, F#, J#, C++/CLI etc. Applications using this network library can be deployed on iOS, Android, WP8, Linux and Windows based platforms."

But that's a bit advanced and tricky to setup though.

What I would do in what you sketched is setup a website for the manager part, so you can run the server headless and doens't need a GUI shell.
If you really need to use that library (which you don't, but hey, depends on how much effort you want to put into that to change things), you would need to run it on .Net core or Mono. The library can be used inside a .NET Core website.
I'll definitely give it a shot, the server's GUI right now is just start/stop button, ip & port, connected clients/managers and some basic log.
But that means that the c# applications will be able to communicate with the Linux server right? (I've never communicated between 2 languages ^^)
 

joz

Senior Member
But that means that the c# applications will be able to communicate with the Linux server right? (I've never communicated between 2 languages ^^)
I don't get this part? Are both ends (client and server) c# now? It can remain C# on the server side of things when you use .Net Core or Mono. Those aren't languages but frameworks where you can use C# as a language (but also visualbasic or F# for example).
 

BatLine

Member
Everything is c#, with windows windows forms right now yeah.
I've never used Core before but I essentially can create a .net core console app, use the server's code and that's it?
 

joz

Senior Member
Win forms won't work on Core (and also not on a headless/gui-less machine ofcourse).
UWP is coming to .Net core 3 but that will take some time (and you will need Visual Studio 2019 for that in order to create anything for core 3).
So I would create a .NET Core website for that and port your code over to a website, but a console app will also work. Downside of a console app is that you will still need to login to the machine, with either SSH or some remote desktop etc.

Core is definetely worth exploring. It's much leaner, cleaner and faster than full fat and bloated .NET Framework.
 
Bovenaan