Click here to Skip to main content
Click here to Skip to main content

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

, 23 Feb 2006
Rate this:
Please Sign up or sign in to vote.
Using .NET Socket on TCP to create events oriented client-server behaviour.

Sample Image - EasySocketDocument.jpg


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.


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...


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

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

Comments and Discussions

GeneralClient can't connect Server on the Internet Pinmemberlimdim25-Oct-07 0:59 
QuestionHow to know IP clients connected to EasyServer ? Pinmemberjopomo4-Oct-07 3:28 
AnswerRe: How to know IP clients connected to EasyServer ? PinmemberJadBenAutho5-Oct-07 1:39 
GeneralRe: How to know IP clients connected to EasyServer ? Pinmemberjopomo10-Oct-07 21:34 
QuestionDo you have an Easy Socket update for 2005? Pinmemberterryd27-Dec-06 17:35 
AnswerRe: Do you have an Easy Socket update for 2005? PinmemberJadBenAutho29-Dec-06 1:34 
GeneralMake Thread-Safe Calls to Windows Forms Controls PinmemberAkleinek2-Oct-06 7:38 
GeneralRe: Make Thread-Safe Calls to Windows Forms Controls PinmemberJadBenAutho3-Oct-06 1:23 
GeneralRe: Make Thread-Safe Calls to Windows Forms Controls PinmemberDrewcrewof28-Oct-06 8:55 
GeneralSome corrections Pinmemberflops4222-Feb-06 11:20 
GeneralRe: Some corrections PinmemberJadBenAutho22-Feb-06 22:29 
GeneralAbout UseSmartManagement PinmemberBruno Saboia de Albuquerque8-Dec-05 7:58 
GeneralRe: About UseSmartManagement PinmemberJadBenAutho8-Dec-05 21:39 
GeneralDemo Shutdown Problem Pinmemberlberman7-Sep-05 4:53 
GeneralRe: Demo Shutdown Problem PinmemberJadBenAutho7-Sep-05 9:50 
QuestionProblem running demo Pinmemberlberman6-Sep-05 12:03 
AnswerRe: Problem running demo PinmemberJadBenAutho6-Sep-05 21:06 
GeneralRe: Problem running demo Pinmemberlberman7-Sep-05 4:39 

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.

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