Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для login10
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 44

Асинхронные socket и Callback

29.01.2016, 15:51. Показов 1577. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте.
Подскажите как сделать..
У меня есть асинхронная модель socket.

C#
1
2
3
4
5
6
7
8
9
10
11
12
public void ConnectCallback(IAsyncResult arg) {
// делаем что то дальше...
}
 
 
public void rgkrkwf(){
 
string host_="google.com"; int port_=80;
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.BeginConnect(host_, port_, new AsyncCallback(ConnectCallback), socket);
 
}
Можно ли как то избавится от коллбек-функции ConnectCallback, и собрать все "в кучке"??
Вот как я пытался сделать:

C#
1
2
3
4
5
6
7
8
9
10
11
public void rgkrkwf(){
 
string host_="google.com"; int port_=80;
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.BeginConnect(host_, port_, new AsyncCallback(delegate(object source, EventArgs e){
 
// делаем что то дальше...
 
}), socket);
 
}
Но что то так понеполучается. Можете помочь?
Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.01.2016, 15:51
Ответы с готовыми решениями:

Socket перенаправить в другой Socket
Доброго всем. Что делаю: Принимаю запрос, который нужно перенаправить к удаленному компьютеру. Получается прокси, который...

Асинхронные операции
Console.WriteLine("Some code"); using (var fs = new System.IO.FileStream("File.txt", System.IO.FileMode.Open)) ...

Асинхронные делегаты
Здравствуйте ! Подскажите пожалуйста, (программа рабочая ) для чего в методе public bool Factorize строки : if (m1 ==...

7
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
29.01.2016, 16:17
Цитата Сообщение от login10 Посмотреть сообщение
что то так понеполучается. Можете помочь?
А что вообще должно получиться?
0
 Аватар для login10
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 44
29.01.2016, 20:55  [ТС]
Вижу я не по адресу.
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
29.01.2016, 21:36
Цитата Сообщение от login10 Посмотреть сообщение
Вижу я не по адресу.
Ага, экстрасенсов тут нет, к сожалению

Добавлено через 55 секунд
Может через async await что то можно сделать, но непонятно, что в итоге нужно.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
29.01.2016, 21:37
Лучший ответ Сообщение было отмечено login10 как решение

Решение

login10, это что ли?
C#
1
2
3
4
5
6
7
8
9
public void rgkrkwf()
{ 
   string host_="google.com"; int port_=80;
   Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
   socket.BeginConnect(host_, port_, arg => 
   { 
      //do work
   }, socket); 
}
1
 Аватар для login10
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 44
29.01.2016, 21:49  [ТС]
Psilon о, оно. Спасибо чувак =). Примерно что то такое и хотел.

Добавлено через 2 минуты
insite2012 уже ответили.
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
29.01.2016, 21:58
Цитата Сообщение от Psilon Посмотреть сообщение
это что ли?
Телепат over BigInteger.MaxValue
0
 Аватар для login10
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 44
29.01.2016, 23:03  [ТС]
Друзья а вот еще вопрос..
Есть два метода которые выполняют как мне показалось одно и тоже.
socket.BeginConnect и socket.ConnectAsync. Отличаются только там код немножко по другому..
Что посоветуете лучше использовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2016, 23:03
Помогаю со студенческими работами здесь

асинхронные делегаты
Добрый день. Вопрос мой об ассинронных делегатах. Я не могу никак понять EndInvoke() дожидается окончания выполнения потока в котором...

Асинхронные операции
Есть у меня источник с элементами (ObservableCollection), и специальные коллекции "отображения", тоже типа ObservableCollection....

Асинхронные сокеты
Здравствуйте. Очень нужна ваша помощь. Вот callback функция которая передается в метод асинхронного чтения сокета BeginReceive: ...

Асинхронные операции на C#
Реализую обмен данными с устройством по USB-каналу (bulk передача) с использованием функций WinUSB API. Хочу реализовать асинхронное...

Асинхронные методы в стиле Erlang
Уже не в первый раз встречаюсь с задачей и не знаю, как её реализовать согласно задумке. Задача следующая: Пользователь вводит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 23.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru