Click here to Skip to main content
Licence 
First Posted 6 Sep 2005
Views 60,700
Bookmarked 59 times

EasySocket - Flexible and easy implementation of client-server architecture in C#

By | 23 Feb 2006 | Article
Using .NET Socket on TCP to create events oriented client-server behaviour.

Sample Image - EasySocketDocument.jpg

Introduction

My first encounter with Windows Sockets was about two months ago with MFC. At that time I simply wanted to experience some TCP\IP programming just before my next semester. That was the ugliest thing I've ever seen and I switched back to .NET. Although it was a lot easier I couldn't find objects that would give me client server behaviour right away and still will keep the flexibility of the Socket object (not to mention an event oriented one). So I took on myself a little project, 3-4 days I think. And I gave life to the EasySocket namespace and the EasyClient, and EasyServer classes.

EasyServer and EasyClient

EasyServer represents the server entity. It has very flexible and useful features. It's an event oriented object and sending any type of serializable object can be done in one line. Most of the methods have both synchronous and asynchronous versions (runs on separate threads). EasyServer was designed with EasyClient and they have a special functionality together (like communication testing), but with proper programming, it can also communicate with any client application. You can get information about the connected clients, their last transition time and more...

EasyClient is the client entity and was written with the same spirit of event oriented programming and can send\get data, make connection tests, connection status and more.

Usage Instructions

The downloadable source code has the EasySocket solution (*.sln file). Its output is a DLL file and an XML comments file. To use it in your own project, simply add to the project a reference to the EasySocket.dll file.

Documentation

I've spent a great deal of time commenting the code and generated detailed and easy to use documentation (HTML & WinHelp) and I recommend reading it in case you intend to change or understand the code. There are two types of documentation: one for client programmers (those who are using the DLL only), and second for programmers who want to edit the code (includes details about private members and private functions). Have fun...

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

JadBenAutho

Software Developer
Rontal Applications
Israel Israel

Member

Born and raised in Israel, I've caught the programming virus at the age of 15.
Since than I can't stop coding.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralClient can't connect Server on the Internet Pinmemberlimdim23:59 24 Oct '07  
QuestionHow to know IP clients connected to EasyServer ? Pinmemberjopomo2:28 4 Oct '07  
AnswerRe: How to know IP clients connected to EasyServer ? PinmemberJadBenAutho0:39 5 Oct '07  
GeneralRe: How to know IP clients connected to EasyServer ? Pinmemberjopomo20:34 10 Oct '07  
QuestionDo you have an Easy Socket update for 2005? Pinmemberterryd16:35 27 Dec '06  
AnswerRe: Do you have an Easy Socket update for 2005? PinmemberJadBenAutho0:34 29 Dec '06  
GeneralMake Thread-Safe Calls to Windows Forms Controls PinmemberAkleinek6:38 2 Oct '06  
GeneralRe: Make Thread-Safe Calls to Windows Forms Controls PinmemberJadBenAutho0:23 3 Oct '06  
Thanks Akleinek, it's seams greate.
I haven't tried it yet though, can you tell me what will happend to the
form's thread once the AppendTBOXCallback will end (the PC will be restored ) ?
 
Will the EasySocket's thread will be suspended while the AppendTBOXCallback is invoked/ active ?
 
Never put more than one leg at atime on the wall.

GeneralRe: Make Thread-Safe Calls to Windows Forms Controls PinmemberDrewcrewof27:55 8 Oct '06  
GeneralSome corrections Pinmemberflops4210:20 22 Feb '06  
GeneralRe: Some corrections PinmemberJadBenAutho21:29 22 Feb '06  
GeneralAbout UseSmartManagement PinmemberBruno Saboia de Albuquerque6:58 8 Dec '05  
GeneralRe: About UseSmartManagement PinmemberJadBenAutho20:39 8 Dec '05  
GeneralDemo Shutdown Problem Pinmemberlberman3:53 7 Sep '05  
GeneralRe: Demo Shutdown Problem PinmemberJadBenAutho8:50 7 Sep '05  
QuestionProblem running demo Pinmemberlberman11:03 6 Sep '05  
AnswerRe: Problem running demo PinmemberJadBenAutho20:06 6 Sep '05  
GeneralRe: Problem running demo Pinmemberlberman3:39 7 Sep '05  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120529.1 | Last Updated 23 Feb 2006
Article Copyright 2005 by JadBenAutho
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid