Where can I download websocket server for Windows. Easy to install. Different from node.js I have already tried this one and couldn't manage to run it on my computer.
If you are developing for Windows you'll probably be using .NET. Here are a few .NET WebSocket server options (I'll also be updating this realtime technologies guide with tech as I find them).
XSockets
SuperWebSocket
WebSync (which works with IIS)
Pokein
Related
Hi I have a console app which I need to start up when Windows Server 2012 starts and without needing to login. I've done a bit of research and people advise a windows service is the correct approach, however the links are quite old and I wanted to confirm this is still the case, or indeed correct at all. Cheers.
Yes, Windows Service is still the most popular way to write and run servers and or a 'daemon' in Windows OS.
Depending on what your application is doing, you might have other options though, e.g. hosting an application in IIS (Microsoft's Web server application in Windows Server).
More recently, Microsoft has been working with Docker to also allow the use of containerized application deployments, which is available in new versions of Windows Server (Windows Server 2016).
Here are a few resources for more reading:
For .NET developers: Walkthrough: Creating a Windows Service Application in the Component Designer
Not just for .NET developers: Quick Start: Windows Containers on Windows Server
I have a relatively simple web application that I am currently porting to asp.net 5. The current version runs under IIS on some Windows 7 and Server 2008 machines.
With the next version of my software I would like to connect a C++ client via SignalR to the web application. The problem is that the current version of the new Signalr-Cpp client only supports SignalR via websockets.
IIS on Windows 7 and Server 2008 does not support websockets, though.
Since a self-hosting solution would be fine for me, my question is:
Is it possible to support Signalr via websockets on Windows 7 / Server 2008 when the web app is self-hosted?
Update:
I would accept
does self hosted signalr require windows server 2012 in order to use websockets? as an answer if there wasn't this small comment by Damian Edwards in the following Tweet by David Fowler which says
although, with v3, websockets in a self-hosted server (like Katana) is possible
Does this change the situation?
Final update
At least with beta 6 it works on Windows 7 when hosting the app with Kestrel and including the middleware Microsoft.AspNet.WebSockets.Server.
It's not possible...
SignalR Supported Platforms
for SignalR to use WebSockets, Windows Server 2012 or Windows 8 is
required
Does self hosted signalr require windows server 2012 in order to use websockets
HTTP.SYS prior to Windows 8/2012 has no built in support for
WebSockets, so although .NET 4.5 contains WebSocket classes, they
won't work unless you are running .NET 4.5+ on Windows 8/2012 and that
will affect self-hosting solutions running in Windows < 8.
UPDATE:
My answer is valid for current release version of SignalR (2.2). Tweets you included (quite old btw) suggest this will be possible in v3 but its not released yet, there is not much info on Internet about changes\features of this release and I even can't find anything about WebSocket support in Katana on Win < 8 in list of Github issues for v3
I understand that SignalR is used to communicate with client browsers using the injected artery script. I have what seems to be a common problem, which is that my browser's network log is filled with entries that look like this:
.../arterySignalR/poll?transport=longPolling&connectionToken=...
This tells me that SignalR has fallen back to long polling instead of using web sockets. Assuming that we have a browser that supports web sockets, and that browser is running on the localhost, shouldn't SignalR default to using web sockets? What might cause it to fall back to long polling?
Short answer
Browser Link will only use WebSockets on Windows 8 or Windows Server 2012
Longer answer
The following would explain the issue if you're using Visual Studio on Windows 7, Windows Vista or Windows Server 2008:
IIS (Express) depends on the .NET framework implementation in System.Net.WebSockets to handle WebSocket connections; as you can read in the link to MSDN, you simply don't get an actual implementation of the necessary classes when you install .NET 4.5 on Windows 7.
So in that case, the server can't agree to the client's request to change from standard HTTP to the WebSocket protocol, which forces the SignalR client to use one of the fallback options (in your case: long-polling).
I have a bit of an issue.
I am using the self-hosting example (http://www.asp.net/signalr/overview/getting-started/tutorial-signalr-self-host) and I have installed the 2.0 (beta2) packages from nuget.
I have my hub running on a webserver and my js client on my localhost.
Webserver is windows server 2012 with websockets enabled in roles.
My solution is set to target .NET 4.5 BUT has started out as 4.0. I have installed the nuget packages AFTER changing the solution target.
Client is running IE9 on Win7.
Now, when I check my referenced .dll's in Visual Studio their Runtime version is listed as 4.0. I am unsure if this means anything.
My problem is, I cannot connect my JS client to the hub, IF I tell it to use websockets.
If I don't specify websockets as transport, it connects fine, through longpolling.
What do I do? I have no idea what to try next.
IE9 does not support web sockets.
Hi I'm a relatively new student in computer science university program. We're getting into web development now. So far, I've only used Visual Studio. Should I be learning how to work with Apache AND IIS? What is the difference? Can I use Visual Studio with Apache? If I download XAMPP, can I still use IIS on the same machine later on?
IIS is a web server that runs on Windows only, whereas Apache is a cross-platform server that will work on Windows, Linux, Mac OS X and various flavors of UNIX. Though you can make either of these servers work with pretty much any web technology (ASP.NET, PHP, Python) there are some natural pairings that you'll find are pretty common.
If you're working with ASP.NET, IIS is the natural fit since both are Microsoft products. Learning how to work with it will help you if you were to start placing your applications on IIS servers later on.
PHP and Python are more naturally paired with Apache. XAMPP, for example, already comes with PHP configured to work on Apache. (LAMP, WAMP and MAMP are other editions of this on various platforms.
You can download versions of PHP, Perl and Python to work with IIS. Some of this can be done with the MS Web Platform Installer, others require a bit more elbow grease. That said, there are installation packages available on many of the technologies' websites.
If you want to work with Mono's open-source port of ASP.NET, on Apache, you'll need to configure the mod_mono extension for Apache.
You can configure as many web servers as you want on the same machine, so long as each of them is listening on a different port.
They are both web servers. IIS is used mostly by Microsoft shop developers as it comes with ASP.NET support - the core of Microsoft's server side technology. Apache is used by almost everyone else (Java, PHP, Python, Ruby, etc. developers) on mostly Linux and Unix servers. Although Apache can technically run on Windows, if you are using Windows servers and programming on Visual Studio, it would make more sense for you to use IIS. Apache is generally more widely used worldwide http://news.netcraft.com/archives/2009/10/17/october_2009_web_server_survey.html
you can use IIS and apache on the same machine simply you would have to setup one of them not to listen on the standard port 80.
What language will you use for your test. if you use plain CGI apache and IIS are fine. If you are doing some dotnet project it would be better to keep playing with IIS.
It's possible to do some ASP.net on apache but require to use mono and that a bit more complex.
Also it's usually more easy to administrate some Apache server, there is a lot of resource on the web about apache. IIS is sometimes more difficult to figure out.
Yes, you should look at IIS and Apache to see how they compare.
What is the difference? One runs on Windows only. Apache runs on almost every platform.
I've never tried to use Apache with VS.
They can run on the same machine, as long as they're configured for different ports.