Показать сообщение отдельно
Старый 27.11.2015, 12:00   #18
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Сетевое программирование

Можно так: читать сокет в отдельном потоке в цикле. прочитанные строки отправлять в обработчик EventHandler.

public EventHandler<string> OnReadLine;

new Thread() {// псевдокод, не помню точный синтаксис

    while (net_stream.DataAvailable) { 
        tcp_packet = socket_reader.ReadLine(); 
        if (OnReadLine != null)
            OnReadLine(this, new SocketEventArgs(tcp_packet));
    }

}.start();

public class SocketEventArgs : EventArgs {

    public string line;

    public SocketEventArgs(string s) {
        line = s;
    }
}
в итоге можно использовать полученные из сокета строки любым количеством слушателей.

socketWrapper.OnReadLine += (sender, args) => {
    // что-то делаем со строчками
}
socketWrapper - в принципе, можно и через статический доступ, у тебя же этот класс щас статический.

отправку данных можно тоже делать в отдельном потоке, выгребая все команды из списка-на-отправку.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
DStalk (28.11.2015)