Networking library for games [closed] - c#

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm looking for a library / framework that would allow me to easily achieve this:
Minimal message size (ideally something like - [16 bit message id] + [variable length message parameters]).
Needs as little plumbing code as possible.
TCP communication.
Handles dozens of connections easily.
Bidirectional communication.
I would like to use WCF-like approach, in which I would create contracts (operations and data) and would share that assembly with both clients and server. Or maybe there are some minimalistic bindings I could use - something even lighter than NetTcpBinding?

Lidgren.Network is a very simple library which is easy integrated to any project. I've tried it out a little and it's very easy to use. Give it a try.
http://code.google.com/p/lidgren-network-gen3/

You might wanted to check out Photon http://www.exitgames.com/

For the protocol format, I would look into Google's ProtoBuffers. There are numerous languages supported, including C#. The serialization is small, wicked fast, extendable, and easily upgraded version over version.
As far as transport is concerned this can be more difficult. Frankly .NET's WCF is not up to the task. Raw TCP/IP built on Sockets is difficult to manage properly. Even building upon the TcpListener can prove difficult but it is possible.
So what's a good way to go? Well that is difficult to answer given the bi-directional requirement. I'm not sure I can point to any one library and say it has the right answer. There are several available and all have their strengths and weaknesses. A lot is going to depend on more specific requirements of your project. Good luck ;)

Related

Are there any decent Websocket C# implementations? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I have already created my server in System.Net.WebSockets and now after transferring it between machines I had noticed Windows Server 2008 is not supported, are there any other implemetations which support an X509Certificate as authentication and would require minimal conversation.
I have been googling for this in the past 2 hours but haven't found anything meaningful, just a collection of poorly written, poorly documented libraries that throw exceptions on the regular, specifically SuperSocket, the server implementation of which seems to be complete buggy bull.
Could anyone post some sample client code from a decent library? I am growing desperate.
Frameworks include:
SignalR
XSockets
Super WebSocket
Alchemy WebSockets
Fleck
More options available via the realtime web tech guide
I know it is a little bit late, but I created a WebSocket C# implementation and it may be interesting for somebody.
There is also:
https://github.com/sta/websocket-sharp - sharp implements RFC6455 and is very popular amongst Unity3d developers
https://github.com/StackExchange/NetGain/ - stackoverflow's implementation of RFC6455
SignalR provides you a great way to add real-time features to your application. Under the hood, it uses either Web Sockets, Server-sent events, Long Polling or Forever Frames based on what the client and the server support. The coming version, scheduled to be released in the coming weeks, will support client-side (X509Certificate) certificates. You can refer to the following links for more details:
http://www.asp.net/signalr
https://github.com/SignalR/SignalR/wiki

Is there a Fix implementation running under mono? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Is there an implementation of the fix protocol running under mono (either free or commercial) ?
I found the following ones, but none indicates if the code it's mono compatible :
QuickFix
VersaFix
Onixs
B2Bits
RA-Cheetah
I tried the 2 open sources solutions :
QuickFix doesn't work on Mono because the .net bindings are developed in C++/CLI, which is not supported by Mono.
VersaFix however does run under mono without any changes, and its performances are quite similar under both platforms.
One possible solution: http://www.fixprotocol.org/discuss/read/adec4479
Other than this, there is nothing specifically designed that I know of, but it does look like each of the engines you mentioned does have a separate forum or mailing list you could try.
I can tell you that the way QuickFix is designed can be a real pain due to the way is uses identical classes in separate namespaces for each version of FIX.
Sorry dont have a better answer, good luck.
I suggest using the MoMA tool provided by http://www.mono-project.com/MoMA. I took the first one you specified "QuickFix" and downloaded the Binary version and scanned it with MoMA. The result was 273 Method calls that are not implemented.
It may sound like a lot but just like compiler errors, you fix a couple of things and the number goes down fast, also you have good odds that the parts you need will be fine and with the source for QuickFix available you may be able modify the code as needed or just throw some try{...}catch wrappers around those problem functions that you do need to use.
Of course you can try the same thing on the other available products, I just tried the first one. I believe MoMA will also work on obfuscated code, so you could test it on trial versions too.
I'm looking into Quickfix/N, which claims to be an open-source native .Net port of Quickfix, without native C++ bindings. In fact the API looks very similar to Quickfix/J (The java port). I will update this post if I find it not to be Mono-compatible.

Free image analysis libraries? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm looking for some Free (preferably LGPL'd) image analysis/comparison libraries.
The most important thing they should be able to do, is compare two different images and say if they're similar, with adjustable sensibility (i.e the higher the sensibility the more they have to look like each other to get a positive result)
I'm thinking either C/++/# or eventually Python.
So far the only solution I've come across is OpenCV, which is under the BSD license. I have yet to study how much of what I need is already implemented in the library, and what I may need to write myself, but I would really like to hear some other options before I start work on my project, so any opinions are welcome.
Comparing if two images are "similar" is an extremely hard, research-class problem. The approach you'd use will depend heavily on the types of similarities/differences that you are expecting between your images.
It will be hard to find something that works off-the-shelf, unless your comparison requirements are very specific.
Related questions that might be helpful:
Image comparison - fast algorithm
Image comparison algorithm
I know several people who have used or are using OpenCV. They seem to be very satisfied with what it can do and how easy it is to use. And from the problem you have described, OpenCV surely has that feature, and much more. I don't know of any library that compares to it. As for the BSD license, don't blame people who make source code available for free for not letting you make money off of it.

Where can I find an open source C# project that uses ADO.NET? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I am trying to write a Windows Form and ASP.NET C# front-end and MSAccess backend for a pretty small database concept I have.
I have written this application once before in just MSAccess but I now need the app and database to be in different places. I have now figured out (thanks to a StackOverflow user) that ADO will be a bad choice because it has to have a connection open all of the time.
I bought Microsoft ADO.Net 2.0 Step-by-Step and I have read through some of it and understand (I think) the basic concepts at play in ADO.NET. (Datasets and the like)
Where I get confused is the actual implementation. What I want to know is do any of you know of a C# project that has a database backend which is open source that I can go look at the code and see how they did it. I find I learn better that way. The book has a CD with code examples that I may turn to, but I would rather see real code in a real app.
I haven't used this but it looks like it might be a good fit:
http://www.codeproject.com/KB/database/DBaseFactGenerics.aspx
Take a look at the MySQL .net connector. It is the nuts and bolts of how the ADO.net classes talk to the DB engine. ADO.net as a whole does not keep connections open. Certain higher level classes do. Technically the lower level objects such as the connection and command objects are part of ADO.net, but you have a high degree of control over them.
Check CodePlex, they have a ton of .NET projects. I can't think of specific ones that fit your requirements, but you should be able to find something.
www.codeplex.com
I found this post http://www.codeproject.com/KB/database/DatabaseAcessWithAdoNet1.aspx by searching for ADO.NET on the codeproject so I am going to give Chris Porter the answer points. Thanks everyone for the help.

What is a good tutorial/howto on .net / c# socket programming [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm porting old VB6 code that uses the Winsock control to C#. I haven't done any socket programming and I wonder if anyone has a good reference/tutorial/howto that I can use to start getting up to speed.
I'm appealing to the hive mind while I proceed with my generally unproductive googling.
I'm using UDP, not TCP at this time.
The August 2005 MSDN Magazine had an article about System.Net.Sockets and WinSock:
http://msdn.microsoft.com/en-us/magazine/cc300760.aspx
I recommend the asynchronous model for most applications, especially if you want performance or applications that don't hang as soon there is a network problem. For this the MSDN articles on Socket.BeginConnect and Socket.BeginReceive are good places to start.
The following link is not .NET, but many of the recommendations still hold: http://tangentsoft.net/wskfaq/articles/lame-list.html
MSDN is a good place to start
Are you working on:
a client (TCPClient)
or a server (TCPListener)
Just a heads up:
I would recommend first working with TCP rather than UDP. UDP doesn't automatically redeliver lost packets like TCP so it will add another element to the equation that will probably just confuse you as you're just starting out.
Building a socket client is relatively easy using the TCPClient class available in the .Net library. TCPListener is easy enough to use for a single client but if you're hoping to develop some server type application (IE: Handling multiple connections.) the real hurdle you'll have to overcome is understanding multithreading.
Once you've played around with single connection sockets I suggest you read up on multithreading.

Categories

Resources