All Projects β†’ ivan-sincek β†’ chat-app

ivan-sincek / chat-app

Licence: MIT license
Multithreading TCP server and client communicating over TCP/IP - Windows Forms Application.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to chat-app

tcp server client
A thin and simple C++ TCP client server
Stars: ✭ 124 (+217.95%)
Mutual labels:  multithreading, tcp-server, tcp-client
Active-Directory-Search
πŸ‘€ This Active Directory Search tool was written in C# and VB.NET Windows Forms and exports the results from LDAP to csv format.
Stars: ✭ 19 (-51.28%)
Mutual labels:  visual-studio, windows-forms
com2us cppNetStudy work
컴투슀 C++ λ„€νŠΈμ›Œν¬ μŠ€ν„°λ”” 개인 μž‘μ—… μ €μž₯μ†Œ
Stars: ✭ 32 (-17.95%)
Mutual labels:  tcp-server, chat-application
MonoGame.Forms
MonoGame.Forms is the easiest way of integrating a MonoGame render window into your Windows Forms project. It should make your life much easier, when you want to create your own editor environment.
Stars: ✭ 183 (+369.23%)
Mutual labels:  visual-studio, windows-forms
Simpletcp
A minimal non-blocking TCP server written for Python 3.
Stars: ✭ 162 (+315.38%)
Mutual labels:  tcp-server, tcp-client
Simplenet
An easy-to-use, event-driven, asynchronous network application framework compiled with Java 11.
Stars: ✭ 164 (+320.51%)
Mutual labels:  tcp-server, tcp-client
Mongols
C++ high performance networking with TCP/UDP/RESP/HTTP/WebSocket protocols
Stars: ✭ 250 (+541.03%)
Mutual labels:  multithreading, tcp-server
Dockpanelsuite
DockPanel Suite - The Visual Studio inspired docking library for .NET WinForms
Stars: ✭ 1,326 (+3300%)
Mutual labels:  visual-studio, windows-forms
Jpegrtspcamera
Sample RTSP server streaming MJPEG video from PC camera
Stars: ✭ 25 (-35.9%)
Mutual labels:  visual-studio, multithreading
Darkui
Dark themed control and docking library for .NET WinForms.
Stars: ✭ 539 (+1282.05%)
Mutual labels:  visual-studio, windows-forms
React Native Tcp Socket
React Native TCP socket API for Android, iOS & macOS with client SSL/TLS support
Stars: ✭ 112 (+187.18%)
Mutual labels:  tcp-server, tcp-client
Socket-Programming-With-C
βœ‰οΈ Learn Network Protocol and Network Programming
Stars: ✭ 147 (+276.92%)
Mutual labels:  tcp-server, tcp-client
Simpletcp
Simple wrapper for TCP client and server in C# with SSL support
Stars: ✭ 99 (+153.85%)
Mutual labels:  tcp-server, tcp-client
Oksocket
An blocking socket client for Android applications.
Stars: ✭ 2,359 (+5948.72%)
Mutual labels:  tcp-server, tcp-client
Packetsender
Network utility for sending / receiving TCP, UDP, SSL
Stars: ✭ 1,349 (+3358.97%)
Mutual labels:  tcp-server, tcp-client
Fixio
FIX Protocol Support for Netty
Stars: ✭ 84 (+115.38%)
Mutual labels:  tcp-server, tcp-client
Silver Sniffle
Ncurses TCP Chat
Stars: ✭ 38 (-2.56%)
Mutual labels:  tcp-server, tcp-client
Easytcp
Simple framework for TCP clients and servers. Focused on performance and usability.
Stars: ✭ 60 (+53.85%)
Mutual labels:  tcp-server, tcp-client
T2TiERP-2-CSharp
T2Ti ERP 2.0 - C#
Stars: ✭ 33 (-15.38%)
Mutual labels:  visual-studio, windows-forms
Monogame.forms
MonoGame.Forms is the easiest way of integrating a MonoGame render window into your Windows Forms project. It should make your life much easier, when you want to create your own editor environment.
Stars: ✭ 165 (+323.08%)
Mutual labels:  visual-studio, windows-forms

Chat App

Windows Forms Application made in Visual Studio Community 2019 v16.7.6 and written in C# (.NET Framework v4.6.1).

Application is made for sole purpose of showing how to implement TcpListener and TcpClient classes, as well as asynchronous read and write functions.

Used ConcurrentDictionary class which is a thread-safe collection of key/value pairs to store client information.

Used Task class to prevent race conditions.

Server uses multithreading to accept clients (i.e. server can accept multiple clients).

Check the code in these two files:

Tested on Windows 10 Enterprise OS (64-bit).

Made for educational purposes. I hope it will help!

Future plans:

  • create server and client classes,
  • option to hide the key field.

How to Run

Run Server.exe and Client.exe.


You can use ngrok to give your server a public address:

ngrok.exe tcp 9000

For more options run ngrok.exe -h.

Images

Server

Figure 1 - Server

Client

Figure 2 - Client

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].