Code. Collaborate. Organize.
No Limits. Try it Today.
I always wanted my programs to be controlled over the Internet or a LAN. Indeed, the .NET Framework includes many features to help you achieve this; but I needed more, so I decided to start from the very beginning and created my own, different HTTP server.
Talking about an HTTP server, usually an application sending local files to clients, comes to one's mind. But InsomniaServer is different. It is all about customizing. You are absolutely free to answer every request your very own way, without having to use ASP.NET on IIS or some scripting language on Apache, which are quite big and often inconvenient for special tasks.
InsomniaServer
Let's pick up my first sentence: You wrote a program, which needs a Web interface. Do you really want to learn all about HTTP to do so? No, you need an easy way, to achieve everything you want - fast, transparent and stable. InsomniaServer is perfect for you.Another thing: You created a .NET assembly, that does a special (for example mathematical) thing, and want to present its output/reaction on some input on the Internet. Just reference InsomniaServer and you are nearly done.
It would be possible to talk for hours about special cases, in which InsomniaServer is great. Even though it is much better to think about your project and its special scenario, maybe you are looking for something like IS - so I would like to invite you to test it.
Initially I tried to insert the tutorials, I have written for InsomniaServer, here - but had to see that they are a little too long for one article, and I did not want to scare you. So I do (for now) not post them as articles on The CodeProject, but provide them together with my demo projects included within the documentation, which can be downloaded here.
InsomniaServer
I recommend testing the MultiPaint sample first (best, server and HTTP browser on different machines), as it shows what InsomniaServer is all about. Afterwards, read the tutorials and play with the code, as this is in my opinion the best way to get into a new "technique".
MultiPaint
The full documentation of InsomniaServer can be found here.
While looking at InsomniaServer or developing some program using it (<- I would be pleased to hear about something like that ), please do not miss the InsomniaSoftware.Server.Debug namespace. I really liked it while debugging and tuning the Web interface of my software.
InsomniaSoftware.Server.Debug
02/04/07 - Version 1.0 completed
17/04/07 - Small bugfix in HttpRequest.cs (thanks to Alberto aka rwtrecasd)
04/05/07 - InsomniaServer version 1.0.1.0 uploaded
SystemBrowser
SystemBrowser
12/05/07 - InsomniaServer version 1.0.2.1 uploaded
HtmlSource
HtmlSource page = new HtmlSource("Hello!");
page.curNode.AddSubNode(HtmlObjects.BoldText
("Hello world! Sp€c?a£ cHäRa?t?r?"));
This results in:
<html><head><title>Hello!</title></head>
<body>
<b>Hello world! Sp€cїą£
cHäRαсtЄrЅ</b>
</body></html>
10/01/08 - InsomniaServer version 1.0.3.0 uploaded
Please update to 1.0.3.0. You will have to make no changes within your code.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)
Doc</style>
lonifasiko wrote:so that clients can connect to them without problems?
General News Suggestion Question Bug Answer Joke Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.
C# 6: First reactions