Нароооод, всем добрейшего денька) У меня встала проблема, а точнее у меня не принимаются пакеты с сервера, если он не на localhost. Суть ошибки в том, что клиент не может подключиться к серверу с IPv4:... Я тут сижу недоумеваю, так ещё и во время отладки заметил, что сервер потребляет от ГБ и больше ОЗУ! (Мне кажется, что дело здесь в буфере, но я его очищал и ничего).
p.s. Создаю прогу для захвата экрана юзера с использованием Window Duplicate и костылей, ниже приведу код сервера/клиента (будет работать только, если ip=127.0.0.1). Заранее спасибо тем, кто решит в этом покопаться) И да, firewall вырублен
p.s. без niggaтива, пожалуйста. Я знаю, что дурень :)
Код сервера
using System;
using System.Net.Sockets;
using System.Net;
using System.Windows;
using System.Threading.Tasks;
using System.Windows.Threading;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace TheTomas
{
    class DataSender
    {
        public static TcpListener SERV;
        const int PORT = 19152;
        public static void Start()
        {
            DispatcherTimer waitForSend = new DispatcherTimer();
            waitForSend.Start();
            waitForSend.Interval = TimeSpan.FromMilliseconds(60);
            waitForSend.Tick += new EventHandler(async (object s, EventArgs e) => {
                byte[] data = CaptureScreen.GetFrame();
                bool isSend = await _sendScreen(data);
                if (!isSend) Console.WriteLine("BULLSHIT!");
            });
        }
        private static async Task<bool> _sendScreen(byte[] imgData)
        {
            try
            {
                if (SERV is null)
                {
                    IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, PORT); // Ставлю тут, чтобы принимало все ip-шники и не работает, даже если так же буду к 127.0.0.1 коннектиться
                    // Init network
                    SERV = new TcpListener(ipEndPoint);
                }
                // Start server
                SERV.Start();
                // Send client
                TcpClient client = await SERV.AcceptTcpClientAsync().ConfigureAwait(false);
                if (client != null)
                {
                    int result = await client.Client.SendAsync(imgData, SocketFlags.Truncated);
                    if (result > 0)
                    {
                        client.Dispose();
                        client.Close();
                        SERV.Stop();
                        GC.Collect();
                    }
                } else
                {
                    client.Close();
                    SERV.Stop();
                    GC.Collect();
                }
                return client != null;
            }
            catch (Exception e)
            {
                MessageBox.Show($"Some error accure {e.Message}");
                return false;
            }
        }
        private static string _getIP()
        {
            WebClient wc = new WebClient();
            string strIP = wc.DownloadString("http://checkip.dyndns.org");
            strIP = (new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b")).Match(strIP).Value;
            wc.Dispose();
            return strIP;
        }
    }
}
  
Код клиента
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Net.Sockets;
using System.Net;
using System.Runtime.InteropServices;
namespace GayAppClient
{
    public partial class Client : Form
    {
        const uint SRCCOPY = 0x00CC0020;
        const int PORT = 19152;
        public static string IP = "127.0.0.1";
        public Client()
        {
            InitializeComponent();
        }
        private void demoPause_Tick(object sender, EventArgs e)
        {
            try
            {
                _getIP(); // - Получаем IP сервера(моего роутера т.е)
                TcpClient tcp = new TcpClient(IP, PORT); // IP тут 127.0.0.1; когда пишу ipv4 роутера, к которому подключен ПК(сервер) - ошибка
                NetworkStream stream = tcp.GetStream();
                captureView.Image = Image.FromStream(stream);
                captureView.SizeMode = PictureBoxSizeMode.StretchImage;
                GC.Collect();
            } catch (Exception ex)
            {
                demoPause.Stop();
                DialogResult ans = MessageBox.Show(ex.Message);
                if (ans == DialogResult.OK)
                {
                    Application.Exit();
                }
            }
        }
        private static void _getIP()
        {
            WebClient wc = new WebClient();
            string strIP = wc.DownloadString("http://checkip.dyndns.org");
            strIP = (new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b")).Match(strIP).Value;
            wc.Dispose();
            IP = strIP;
        }
    }
}