Есть экземпляр класса в другом потоке, это сервер который имеет изменяющийся список клиентов. Как привязать этот список клиентов к компоненту в окне? Framework 3.5
Пытался передать компонент как параметр в поток или ссылку в конструктор, но не вышло. (Инициализатор поля не может обращаться к нестатическому полю, методу...)
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
serverThread = new Thread(server.Start);
serverThread.Start();
}
AsynchronousIoServer server = new AsynchronousIoServer(46484);
Thread serverThread;
public void AddToList()
{
clientsListBox.Add(); //THIS ListBox
}
}
public class AsynchronousIoServer
{
private Socket _serverSocket;
private int _port;
public AsynchronousIoServer(int port)
{
_port = port;
}
public class ConnectionInfo
{
public Socket Socket;
public byte[] Buffer;
}
private List<ConnectionInfo> _connections = new List<ConnectionInfo>(); // THIS LIST
public void Start()
{
while (true)
_serverSocket.BeginAccept(new AsyncCallback(AcceptCallback), _serverSocket);
}
private void AcceptCallback(IAsyncResult result)
{
ConnectionInfo connection = new ConnectionInfo();
try
{
Socket s = (Socket)result.AsyncState;
connection.Socket = s.EndAccept(result);
connection.Buffer = new byte[255];
lock (_connections) _connections.Add(connection);
connection.Socket.BeginReceive(connection.Buffer, 0, connection.Buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallback), connection);
_serverSocket.BeginAccept(new AsyncCallback(AcceptCallback), result.AsyncState);
}
//code
}
//code
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, задача у меня страннаяНеобходимо сделать форму регистрации пассажиров, без использования баз данных, чисто C#
Как передать буфер для заполнения в функцию (функция в DLL-ке напна Си , исходника нету) я делаю так
Я использую ClosedXMLExcel для создания файла Excel из DataTable