C# Corner

Resources  
  • TCP Date Client/ServerJan 03, 2000. Free to use Tutorials on Communicating using TCP Sockets on Microsoft's .NET Platform using C#...
  • FileDownloader : Download files using HTTPJan 10, 2000. This application contains a Form and a Class module . From Form we create a thread which execute the procedure to handle the NET download. This application can be enhance to do more down load as in Download manager by creating more threads.
  • I'm having trouble implementing IObjectSafety. IE keeps telling me that my controls isn't safe. Why?Aug 15, 2000. This article explains about how to implement the IObjectSafety. ATL's IObjectSafetyImpl class appears to have a few bugs in it. The code below works great.
  • Making UI more responsive using ThreadingFeb 12, 2001. This example shows how threads can help us to make User interface more responsive when we have some background jobs.
  • Synchronization in Multi-threadingFeb 13, 2001. This article with sample code shows synchronization concepts of multithreading ..
  • Writing Your First Multithreading ApplicationFeb 14, 2001. If you have never written a multithreading application in C# or .NET, this application might be helpful for you.
  • Multithreading For BeginnersFeb 15, 2001. This tutorial is for beginners who want to write their first multithreaded application in C# and .NET.
  • FTP Server in C#Mar 26, 2001. The application is a simple implementation of FTP Protocol RFC 959.
  • Using .NET Framework Multithreading and GDI+ to Enrich the user experienceMay 04, 2001. This tutorial shows you how to create, send, and received messages using MSMQ from the .NET base class library (System.Messaging) and C#.
  • Ouch! There is a Hook in My C#May 15, 2001. As an extension to the J++ design practice, C# has a syntactic construct, called Attributes, which let you drop hooks to Windows API or modify the runtime semantics, like threading synchronization behavior. The C# has legalized the hooking practice by calling them Attributes, and including them in ECMA C# specification.
  • TCP/IPLib SampleJun 22, 2001. This compopnent contains both a TCP/IP server and client. TcpIpClient inherits from System.Net.Sockets.TCPClient and is very straight forward. After construction, specifying the host and port, a network connection is established by calling Connect(). Internally, upon a successful connection, the client receives a TcpIpPacket, which contains a unique cookie that is used in any subsequent transactions.
  • Synchronization in Parallel threadsJul 02, 2001. The Threads makes us able to run multitasks at a time. In fact Computers (John von Neumann Architecture) don't execute the tasks parallel .The OS gives threads permission (depend on thread priority) to work on CPU. The sufficient degree of parallelism keeps the CPU busy and it is efficient.
  • Messaging between Threads using Message LoopAug 20, 2001. MessageLoopLib is a stripped down version of a complete, threading communication subsystem Ive written. This implementation is a single thread created in the GUI constructor. Ive dropped all thread management and have had to change some of the message code to accommodate this.
  • Socket ChatSep 24, 2001. This is an implementation of a Chat program using sockets. Along with basic chat capability,
  • A Simple Multi-threaded TCP/UDP Server and Client V2.Sep 24, 2001. This is the second version of my client/server program. The server and the client can be run on the same machine or on different machines. The following is the brief description of the server and the client programs specifically.
  • Socket ProgrammingOct 01, 2001. This is a simple Client/Server program showing the communication taking place between the client and the server.
  • Real Time ApplicationOct 02, 2001. The Real time Application is a sample that shows the communication techniques between a client (TcpClient) and a server (TcpServer) application using Socket class on each side. The project also demonstrates how to using listview control in the real time project.
  • WinChat For .NETOct 10, 2001. WinChat For .NET is a simple peer-to-peer chatting program that functions very similarly to the WinChat program provided by Windows 2000. It provides all the functionalities that the original WinChat program provides.
  • C# PagerOct 16, 2001. C# Pager is a simple client/server application that implements functions of a pager.
  • C# IRC BotNov 19, 2001. This is a very simple program that establishes a connection to irc server, joins a channel and greets every nick that joins.
  • Space Invaders in C# and .NETDec 23, 2001. Yes, the classic arcade game has returned and is appearing in C# Corner complete with sound and authentic aliens and source code. It's not quite as good as the real game, but with a few adjustments it can get there.
  • C# Discussion Forum from Harrison LogicJan 29, 2002. Threaded Discussion Forum that utilizes the .NET framework, with C# as the ASP.NET server side language. Uses MS Access Database for data.
  • Multi-threaded Web Applications - Case I: Search EngineMar 07, 2002. This article is the first of the series of 4. I will demonstrate the use of threading in web applications by implementing a simply search engine. The following 3 articles in the series will be a Port Scanner, a Reverse DNS and a Web Hammer respectively.
  • Multi-threaded Web Applications - Case II: Port ScannerMar 12, 2002. This article continues the 4-parts series of Multi-threaded Web Applications. In the first part, I have demonstrated how you can use multi-threading with ASP.NET to make a web based search engine more responsive, and to reduce the time required to compose the result. In this article, I will demonstrate how you can apply the same technique to a web based port scanner.
  • XbWrapper - Xbase InterpreterMar 15, 2002. XbWrapper-Xbase script inter XbWrapper is a simple scripting language. It is intended to use as an embedded language in other C# programs.
  • Multithreading Part I: Multithreading and MultitaskingApr 08, 2002. In this and a series of articles that would follow, we would learn about threads and how to write multi-threaded programs in C#.
  • Multithreading Part 2: Understanding the System.Threading.Thread ClassApr 08, 2002. In this article we will study the .NET threading API, how to create threads in C#, start and stop them, define their priorities and states.
  • Multithreading Part 3: Thread SynchronizationApr 11, 2002. The .NET framework provides a number of classes and data types that you can use to control the access to shared resources. Thread synchronization refers to the act of shielding against multithreading issues such as data- races, deadlocks and starvation.
  • Multithreading Part 4: The ThreadPool, Timer Classes and Asynchronous ProgrammingApr 16, 2002. In this article, I would discuss few more .NET classes and how and what role do they play a role in building multithreading applications.
  • Loading XML File in a TreeView Control using MultithreadingApr 19, 2002. There are many occasions when programmers need to develop multithreading applications, which can load big files in the background and let the user do data entry or other jobs without any interruption. In this article, I'll show you how to create multiple threads to load multiple files.
  • .NET Performance Counters, Part 1: Predefined CLR Performance CountersMay 13, 2002. In this article, I will describe what a performance counter is and introduce you to the predefined counters that you can use to monitor the state of the CLR while your applications run.
  • Communication Between Two FormsJun 24, 2002. The aim of the program is to send a message between different forms.
  • Communication Between Two Forms: Part-IIJun 24, 2002. Last time I wrote about the possibility of sending a string from a textbox in one form to another.
  • Recipe to Implement Threads Quick n Easy in C#Aug 28, 2002. In this tutorial type article, author shows how to write threading applications quick and easy in C#.
  • OpenGL BasicsOct 09, 2002. In this article I want to explain couple of more things. First of all, I would like to cover the OpenGL Coordinate System.
  • BlackJackOct 10, 2002. So as a learning experience, I decided to try writing a Blackjack game.
  • Puzzle ControlOct 15, 2002. In this application I had combined the power of C# and AI in order to solve the "puzzle problem".
  • Texture Mapping in OpenGLOct 15, 2002. This is my third article about OpenGL and this one is about texture mapping.
  • Drawing Shapes using ThreadingOct 25, 2002. This is simple multi-threading program that draws circles and rectangles. Each shape is handle by individual thread that created every time you press start button. Using sleep method on each thread we can change the speed of each shape.
  • Maze Solver Oct 28, 2002. Solving mazes is one of those problems, at least with the algorithm I've chosen here.
  • HJ PDF in C#Oct 31, 2002. This program allows you to download all Italian Hacker Journal issues into PDF files for free.
  • Consumer/Producer Multithreaded ProgramNov 04, 2002. This is simple multi-threading program that adds and removes elements in an ArrayList. Producer button will creates a producer thread that adds elements in to the ArrayList. The maximum number of elements can be added to this ArrayList are 100 elements and the producer thread has to wait until the consumer thread/threads (creates by pressing consumer button) removes elements from the ArrayList. Then Producer thread starts to add more elements to the ArrayList.
  • Client Server Multithreaded ApplicationNov 08, 2002. This is simple Client/Server (multi-threading) program that transfers data. Server can handle multiple clients.
  • Sorting using MultithreadingNov 13, 2002. This is simple multithreading application that sort integers values in an array.
  • Using the ThreadPool to Run Animated Gifs in C# and .NETNov 14, 2002. In this article we will discuss the use of the ThreadPool class in conjunction with the ImageAnimator class to run 3 animated gifs in separate threads.
  • FreeCell Game using Windows FormsNov 14, 2002. FreeCell is an implementation of the FreeCell card game using Windows Forms.
  • Synchronized Threading in .NETDec 11, 2002. Threads are a powerful abstraction for allowing parallelized operations: graphical updates can happen while another thread is performing computations, two threads can handle two simultaneous network requests from a single process, and the list goes on. Since threads are pretty simple to understand, conceptually, but, practically, they are a cause for programmatic headaches, I decided to write this program to describe how to make use of threads.
  • Daleks in .NETDec 11, 2002. The other night my girlfriend dragged me down to the NYC Public Library claiming that they had a huge Science Fiction movie section. Admittedly my taste in movies and my wife's taste in movies can vary slightly, however, I was willing to take a chance, given that rentals at the library are free as opposed to $4 at the local video store.
  • Using Remoting to Implement Distrubuted LoggingDec 20, 2002. In an earlier article we had discussed how new tracing and debugging techniques in .NET make debugging easier. In this article we will view the event logging API that comes with .NET.
  • Concurrency Control in ADO.NET using Threads and MonitorsDec 31, 2002. The concurrency controls system refers to the lowest level in architecture of a DBMS. It is relative to the input/output operations, which carry out the transfer of blocks from the secondary memory to the main memory and vice versa.
  • Recording Sheet Music Using C# and .NETFeb 07, 2003. This is a article that allow you to record and replay the music you performed on the piano.
  • Project Trilma .NETFeb 19, 2003. In 1883 George H. Monks from Boston designed Halma, an interesting board game with simple rules.
  • Dots GameMar 06, 2003. Here is a dots game developed using C# and GDI+. New version of the game will be coming soon.
  • Distributed Cross Platform Applications, the Easy Way Mar 07, 2003. There are many ways of transferring data from one process to another. All those methods have some advantages, but also some drawbacks.
  • Use Thread Local Storage to Pass Thread Specific DataMar 18, 2003. The specific thread level storage is known as thread local storage or TLS for short. The .NET threading namespace allows .NET developers to use TLS from within their multi-threaded applications to store data that is unique to each thread.
  • Changing the default limit of 25 threads of ThreadPool ClassJun 19, 2003. The Threadpool is useful for managing threads that are usually in a wait state and that take only a short amount of time to do their work. If still you would like to change the default limit of 25 threads then here you go.
  • Lengthy Operations on Single Thread in .NET ApplicationsJul 08, 2003. In this article I discuss how the lenghty operations can be handled in a .NET application. I also discuss how the stack trace can be examined to find any specific methods.
  • Boxing and Unboxing of Value Types : What You Need to Know?Jul 21, 2003. Programmers new to C# can encounter less than ideal performance and even unexpected results due to boxing and unboxing of value types.
  • Interlocking ThreadsSep 10, 2003. Recently, I was building multi-threaded applications and noticed some intermittent data inconsistency. Soon, I found the culprit was locking mechanism. After doing some research, I gathered the following information and as usual decide to share with you guys.
  • Memory Management in .NETNov 17, 2003. This tutorial describes Memory Management in .NET.
  • Extreme Programming (XP)Feb 18, 2004. Extreme Programming (XP) is a discipline of software development based on values of simplicity, communication & feedback. It works by bringing the whole team together in the presence of simple practices.
  • Real Time Communications in .NETMar 12, 2004. This white paper shares concepts of real time communications in .Net and its applicability in real world. A real-time communication system is used in applications where time is a critical factor.
  • Live Communication Server 2003 v 1.0Mar 12, 2004. Live Communication server enhances the power of instant messaging and real-time communications to improve employee productivity. It is based on industry-standard protocol and offers secured messaging. It is an extensible system which enables the people to communicate and collaborate on various medias.
  • Multithreaded XML Document for Read/Write AccessJul 21, 2004. This article describes a process for using a ThreadPool within a windows service that monitors other services. It also shows how to allow multithreaded read/write access to an XmlDocument, that acts as persistent storage, using a Mutex.
  • Forum Alert Service Version 1.0Aug 24, 2004. The Alert Service is a Windows service that can be deployed in any discussion forums and whenever a thread is posted to the forums, an alert will be issued in the form of a message to the user.
  • Handling the Queuing of Messages in a Multithreaded ProgramSep 06, 2004. In the financial world you have to deal with messages being spewed at you in large quantities at a rapid rate. For example stock quotes, market data, and orders come flying at you through some sort of wire and you as a programmer have to handle them in a way that doesn’t overwhelm you or the machine.
  • Thread Safe Collections ArrayList and QueueSep 24, 2004. The attached project provides a dll containing a wrapper around the non-thread safe ArrayList and Queue classes. The wrapper implements the most common functions of this collection elements.
  • Pocket Trilma.NETOct 04, 2004. Pocket Trilma.NET is a Pocket PC version of project Trilma.NET.
  • A Scheduled Application Launcher Service in C# and .NETOct 06, 2004. This an article is on launching scheduled tasks. Not quite as exciting as launching a spaceship into outer space, but…hey, even astronauts have to automate some of their day to day activities.
  • Network Trilma Game in C#Jan 12, 2005. The game has been developed as stand alone using C#, each player has ten checkers which are initially placed in the corners of the board and the aim of the game is to place all checkers in the opposite corner of the board.
  • Understanding Threading in .NET FrameworkApr 21, 2005. This article describes how to use threading model in .NET Framework including creating, joining, suspending, killing, and interlocking threads.
  • Asynchronous Data Access using Callback ModelAug 17, 2005. The problem with the ADO.Net 1.x is that one thread has to wait for the other thread to complete. So to overcome this problem Microsoft has introduced Asynchronous data access, through which one can execute multiple threads at a time.
  • Design Patterns Part - IAug 26, 2005. Design patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges.
  • Introduction to Multithreading in C#Oct 06, 2005. This article is a complete introdution to threading. It explains what is a thread and why it is used in programming. It also talks about common problems with threading, and how to begin writing thread safe code.
  • Glue IIS with Business Logical Tier using Batching, Asynchrony, and Parallel ComputationOct 26, 2005. A great and unusual way to boost your web application performance and scalability five times or more.
  • Design Patterns in C#Nov 01, 2005. To define design patterns in simple words they are "popular solutions for common design problems". They are very helpful in designing architecture and they also increase ease of communication among the developers.
  • RegisterWaitForSingleObject in ThreadPoolNov 04, 2005. In this article, we are going to describe how to use Threadpool to execute a thread at specified time interval or instant by using Threading AutoResetEvent.
  • How do I use ThreadPool in C# and .NET?Nov 05, 2005. In this brief articles, I will show you how to use thread pool in C# and .NET.
  • Introduction to new SECS/GEM driver using SecsToTool.NetJan 06, 2006. SecsToTool.Net is a connectivity solution for the semiconductor equipment that support SECS/GEM communication interface. The SecsToTool.Net SECS/GEM driver SDK is designed to provide a high level method call/reply and event driven environment for your host application (or what we normally called Cell Controller/Station Controller/Equipment Manager) to communicate with equipment.
  • WebParts Communication: How WebParts on a page communicate with each otherJan 17, 2006. In this tutorial we will describe how to make WebParts on a WebParts Page communicate with each other. So will see how to use ConnectionsZone and how to enable WebParts to talk to each other by connecting them.
  • Basic concepts of Threading: Part IJan 27, 2006. In this article, we will look at the basic concepts of threading in C# and .NET.
  • Basic concepts of Threading: Part IIJan 28, 2006. In this article a brief description about System.Threading Namespace, Classes and Interfaces provided that enables multithreading programming.
  • Thread Synchronization using VS.NET 2005Feb 27, 2006. When two or more threads need access to a shared resource, they need some way to ensure that the resource will be used by only one thread at a time. The process by which this is achieved is called synchronization.
  • A Glance at Web Application SecurityMar 07, 2006. Web application security involves implementing protective measures against potential threats, malicious or unintentional, that exploit exposed vulnerabilities. Security is best implemented using the defence-in-depth technique by applying protective measures at network, host, and web application levels. This article will focus on security at the application level by exploring IIS and ASP.net authentication, authorization and secure communication.
  • Multi Threaded File Reader and GeneratorMar 07, 2006. The attached source code with this article is a multithreaded application written using .NET 2.0 that shows how to use the background worker threads to read a text file, generate reports and show report progress and completed events.
  • Application Scheduler Service Using C#.Net And XMLMay 29, 2006. This is an application scheduler that is implemented as a Windows Service, similar to the Windows Task Scheduler - but simple, as it has fewer configuration options and it uses XML to store and retrieve data.
  • Thread Safe codeJul 26, 2006. This articles tells the importance and meaning of a thread safe piece of code in C#.
  • Illustrates the use of the lock in multithreading applicationAug 17, 2006. Any application must have one or more processes. A Process is structural unit with a memory block and using some set of resources. For each executable, the Windows operating system creates some isolated memory block. This article tries to explain the use of lock basics of Multithreading in C# .Net.
  • Multithreading Made Easy in .NET 2.0Aug 31, 2006. This article demonstrates a very easy alternative to normal multithreaded programming in .NET. A freely available library called CSP.NET is presented and a sample application shown.
  • Using Delegates to Communication Between Windows FormsSep 04, 2006. Delegates are one of the wonderful features of .Net Framework. Their primary use is focused on support event handling and callback mechanism. In this article we will explore how to use delegate as callback support to make simple communication between deferent opened windows forms
  • Enabling Remote Access for users in LCS 2005 - The initial installationOct 24, 2006. In this article we'll take a few moments to understand the process of remote user access.
  • LDAP Access Control for ASP.NetOct 31, 2006. This is an example of how to build an ASP.NET LDAP authentication application using ADAM. This article describes how to configure ADAM for regular LDAP communication and build a boilerplate ASP.NET application on top of it.
  • Introduction to Windows Communication FoundationNov 07, 2006. This paper is intended to present the fundamental concepts of Windows Communication Foundation as the new programming model for service-oriented development. Windows Communication Foundation (WCF) is Microsoft’s unified programming model for building service-oriented applications.
  • WCF Application Implementing the Anonymous Client over Certificate WS-Security scenarioNov 17, 2006. This article explains the techniques, architecture and design strategies in order to address one of the most common scenarios of secure communication in Internet, the Anonymous client over Certificate WS-Security scenario using the message level security mechanisms.
  • Interoperability between WCF and Oracle Application Server : Part IJan 24, 2007. This article is part of series intended to show how to use Web Services related technologies to interoperate applications running in different platforms, in this case, the most common scenario between Microsoft.NET and Oracle AS platforms.
  • Passing Data Between Forms Without Events and DelegatesJan 31, 2007. This article describes a simplified approach to allowing communication between forms without the use of events and delegates.
  • Enhanced Oracle Explorer in C# and .NET Using Windows FormsApr 27, 2007. This application will allows to do multiple simple activities on oracle database like running select statements and getting selected procedure's definition simultaneously in a thread-based GUI.
  • Windows Communication Foundation's hosting environmentMay 07, 2007. Windows Communication Foundation (WCF) applications need to have a runtime environment for the management of its object's lifecycle. The host process models allows is a new concept in WCF referring to WCF hosting environment which can have several services, and the same service can be hosted in several host processes.
  • Multi-threaded Asynchronous Programming in C#... Getting started.May 12, 2007. Trying to build better solutions and growing as a developer has always been fun for me and I’m always looking for ways to build more scalability and robustness in the software I am writing. I had a revelation that I’ve been doing a lot of C# tweaking but not taking advantage of the core performance enhancements cooked right into C# and it all comes down to one thing: Asynchronous multi-threaded programming.
  • C# Asynchronous, Multi Threaded Development... Digging In. Part IIMay 13, 2007. In this article we'll dig a bit deeper into what is actually happening when we use the asynchronous calls using C#. Just as in my previous article, we'll simulate a long running I/O bound process as if we were fetching records from a database, making a web service call or reading or writing from a file and see how we can write more performant code by letting the main thread continue on and not wait for the results. 

About Inter-thread-communication

NA

SPONSORED BY

C# Corner Chandigarh DevCon16
Chandigarh DevCon16 is a one-day Developer Conference where programmers, technologists, authors, and members meet, demonstrate, plan, and hang out.
Download Free eBooks