| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Распределённые приложения и сеть > работа с Socket классом |
| Автор: Kergan 27.12.2005, 13:27 |
| Здрасте, люди. Начал писать ICQ-клиент на сишарпе (кодовое название проекта DarkICQ - у меня небогатая фантазия)))). Уже научил его проходить авторизацию и громко ругаться, когда кто-то коннектит с того же ЮИНа. Но проблема встала: получение пакетов и формирование FIFO (First-In First-Out) очереди: когда вешаю Socket.Recieve на таймер (как в ICQ2000), даже если у таймера задержка 5 секунд, комп виснет... думаю, решение в мультитредности, тем более она напрямую поддерживается Socket классом... ВОПРОС: укого-нибудь есть исходники проектов, где используется метод BeginRecieve у сокета, чтоб не изобретать велосипедик.... |
| Автор: Leksey 17.4.2006, 21:59 |
| This call is synchronous, and blocks the current thread of execution until a message is available. Это про Socket.Receive. BeginReceive не создает никаких дополнительных потоков. Это просто сообщение Windows, на которое ты делаешь receive чтобы не постоянно его вызывать. Вообще почему тебе не нравиться идея с созданием потока? |
| Автор: vinegr 17.5.2006, 11:17 |
| мне нравится http://www.codeproject.com/csharp/asyncsockets.asp?df=100&forumid=16694&exp=0&select=683564 как заготовка для клиента - самое оно (для сервера - пожалуй, нет) |