Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caglargul52/advanced-tcp
https://github.com/caglargul52/advanced-tcp
asynchronous multiclient socket-programming tcp-library
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/caglargul52/advanced-tcp
- Owner: caglargul52
- Created: 2019-11-11T15:40:25.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T09:17:39.000Z (about 2 years ago)
- Last Synced: 2024-02-17T14:27:30.349Z (11 months ago)
- Topics: asynchronous, multiclient, socket-programming, tcp-library
- Language: C#
- Size: 39.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# .Net C# Advanced TCP Library
## Features
- End-to-end encrypted messaging (AES Algorithm)
- Sending messages to all clients at the same time
- Block computers with unwanted ip addresses
- Automatic connection of clients when internet connection is disconnected and reconnect.
- Asynchronous communication
- A Server / MultiClient## Quick Start
### Client.cs
static void Main(string[] args)
{
Client _client = new Client("password");
_client.ConnectedServer += _client_ConnectedServer;
_client.DisconnectedServer += _client_DisconnectedServer;
_client.ReceivedMessageFromServer += _client_ReceivedMessageFromServer;
_client.ServerIpAddress = IPAddress.Parse("127.0.0.1");
_client.ServerPort = 9000;
_client.ConnectServer();
}private static void _client_ReceivedMessageFromServer(string message)
{
Console.WriteLine(message);
}private static void _client_DisconnectedServer(string message)
{
Console.WriteLine(message);
}private static void _client_ConnectedServer(LocalInfo info)
{
Console.WriteLine(info.pcName + " - " + info.ipAddress + ":" + info.localEndPoint + " Message: Connected to Server");
_client.SendMessageToServer("Hello");
}### Server.cs
static void Main(string[] args)
{
Server _server = new Server("password");
_server.ReceivedMessageFromClient += Server_ReceivedMessageFromClient;
_server.ConnectedClient += Server_ConnectedClient;
_server.DisconnectedClient += Server_DisconnectedClient;
_server.IpAddress = IPAddress.Parse("127.0.0.1");
_server.Port = 9000;//The following computers will be thrown directly from the server when connected.
_server.BlockedIpList = new List { IPAddress.Parse("192.168.1.5"), IPAddress.Parse("192.168.1.6") };
_server.StartServer();
}private static void Server_DisconnectedClient(ClientInfo clientInfo)
{
Console.Clear();
foreach (var client in _server.GetClientsList())
{
Console.WriteLine(client.pcName + " - " + client.ipAndRemoteEndPoint);
}
}private static void Server_ConnectedClient(ClientInfo clientInfo)
{
Console.Clear();
foreach (var client in _server.GetClientsList())
{
Console.WriteLine(client.pcName + " - " + client.ipAndRemoteEndPoint);
}_server.SendMessage(clientInfo, "Welcome to Server");
}private static void Server_ReceivedMessageFromClient(ClientInfo clientInfo, string message)
{
Console.WriteLine(clientInfo.pcName + " - " + clientInfo.ipAndRemoteEndPoint + " -> " + message);
}