| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Как коректно работать с CSocket? |
| Автор: Free-lancer 30.1.2004, 13:58 | ||
Господа, сюжет такой: по MSDN для работы с Socket по средствам MFC необходимо построить связку CSocket - CSocketFile - CArchive и затем по средствам CArchive принимать/передавать данные. Но когда я пишу
Возникает ошибка 10093: Either the application has not called WSAStartup, or WSAStartup failed. Но WSAStartup уже более низкоуровневая функция! Как вот, как же все таки самым удобным и корректным способом инициализировать Socket? |
| Автор: AntonSaburov 30.1.2004, 16:22 | ||
CSocket сам вызывает WSAStartup (без этого никак). Значит ее вызов закончился неудачно. А вот почему так - сложон сказать. Может dll для сокетов грохнули. Хотя это вряд ли. Или еще что. Сложно так сказать. Т.е ты вызываешь все корректно. Разве что можно Create вызывать вообще без параметров - они тогда сами по умолчанию должны подставиться. |
| Автор: Step 30.1.2004, 16:27 |
| AntonSaburov, а может в проекте вот этого не хватает AfxSocketInit() |
| Автор: AntonSaburov 30.1.2004, 16:31 | ||
Я честно сознаюсь, с CSocket не работал. Все больше на обычных сокетах. Так что вполне может быть, что это замечание верное. Спасибо, Step. |
| Автор: Step 30.1.2004, 16:40 | ||
Free-lancer, попробуй вставить в инит инстанце вот это
|
| Автор: Free-lancer 30.1.2004, 17:00 | ||
Огромное спасибо, Step. После вызова AfxSocketInit() все заработало. Только в таком виде код выдает ошибку! Я взял использование этой функции из MSDN:
|
| Автор: Step 30.1.2004, 17:13 |
| Free-lancer, этот код который ты привел, будет вставляться автоматически если ты пометишь чекбокс Windows sockets на закладке Advanced Features в аппликашион визарде |