From 9c957b0309a2592f32d7e0f41acac405cab382a0 Mon Sep 17 00:00:00 2001 From: Frank LoTurco Date: Wed, 20 May 2026 12:25:50 -0400 Subject: [PATCH] feat: finish normal binding socket example --- Client/Program.cs | 15 +++++++++++++-- Server/Program.cs | 4 ++++ flake.nix | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Client/Program.cs b/Client/Program.cs index 3751555..4fcb119 100644 --- a/Client/Program.cs +++ b/Client/Program.cs @@ -1,2 +1,13 @@ -// See https://aka.ms/new-console-template for more information -Console.WriteLine("Hello, World!"); +using System.Net; +using System.Net.Sockets; + +using var socket = new Socket(SocketType.Stream, ProtocolType.Tcp); +await socket.ConnectAsync(new IPEndPoint(IPAddress.Loopback, 9000)); + +Console.WriteLine("Type into the console to echo the contents of your message."); + +var ns = new NetworkStream(socket); +var readTask = Console.OpenStandardInput().CopyToAsync(ns); +var writeTask = ns.CopyToAsync(Console.OpenStandardOutput()); + +await Task.WhenAny(readTask, writeTask); diff --git a/Server/Program.cs b/Server/Program.cs index b6f1472..267a78d 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -23,6 +23,10 @@ while (true) int read = await connection.ReceiveAsync(buffer, SocketFlags.None); if (read == 0) break; + var message = System.Text.Encoding.Default.GetString(buffer[..read]); + + Console.WriteLine($"Received new message: {message}"); + await connection.SendAsync(buffer[..read], SocketFlags.None); } } diff --git a/flake.nix b/flake.nix index 267e3b6..2565da5 100644 --- a/flake.nix +++ b/flake.nix @@ -23,7 +23,7 @@ in { packages.default = pkgs.buildDotnetModule { - pname = "dotnet-systemd"; + pname = "Server"; version = "0.1.0"; src = ./Server;