Задать вопрос
@NeoLight3

Как создать функцию с параметрами в потоке?

Листал весь интернет, не мог найти нормального ответа как мне создать новый поток с функцией с параметрами в нем.
Вот мой код:
<br>
        static void Main(string[] args)<br>
        {<br>
            var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);<br>
            socket.Bind(new IPEndPoint(IPAddress.Any, 25444));<br>
            socket.Listen(32);<br>
            while (true)<br>
            {<br>
                    var clientSocket = socket.Accept();<br>
                    var endpoint = new IPEndPoint("127.0.0.1", 25443);<br>
                    var thread = new Thread(ParameterizedThreadStart(UdpClientReceive(clientSocket, endpoint)));<br>
                    thread.Start();<br>
            }<br>
}<br>

При этом выдаёт ошибку: "Невызываемый член ParameterizedThreadStart не может использоваться как метод ".

Вот код функции с параметрами:
<br>
        private static void UdpClientReceive(Socket socket, IPEndPoint endpoint)<br>
        {<br>
            var udpClient = new UdpClient();<br>
            udpClient.Connect(endpoint);<br>
            var clientBuffer = new byte[4096];<br>
            while (true)<br>
            {<br>
                socket.Receive(clientBuffer);<br>
                udpClient.Send(clientBuffer, clientBuffer.Length);<br>
            }<br>
        }<br>


Как тогда вообще можно вывести функцию с параметрами в отдельный поток ?
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
twobomb
@twobomb
А нельзя это через другую функцию вызвать?
Типа такого
Thread thread = new Thread(() =>   {
               unt_client_recv(client, "127.0.0.1", 25443);
            });

Если нет, то нужно оформить как класс, и изначально создать класс, инициализировать его и передать метод для выполнения на поток
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы