опубликован 03-02-2002 14:41 MSK Как писать и где взять информацию!
gonzales
опубликован 03-02-2002 15:35 MSK
Я хотел отдельный топик на свой вопрос создать.Но думаю его можно и сюда засунуть. Хотелось бы узнать почему могут не работать event'ы CAsyncSocket'a (OnConnect). Сокет создаётся в отдельном потоке. Вроде все действия с ним происходят там же.
Flex Ferrum
опубликован 03-02-2002 15:53 MSK
Я ужу как-то писал об этом тут. Они не работают из за того, что для работы им нужен хэндл окна, которому должно посылаться сообщение.
gonzales
опубликован 03-02-2002 18:01 MSK
Блин , так неужели нельзя никак подмухлевать? Ну очень нужно. Там как-нить SocketWindow изменить.
purpe
опубликован 03-02-2002 18:25 MSK
CAsyncSocket создаёт собственное окно и отправляет в него сообщения. Именно поэтому прямо в переопределённом классе должны срабатывать OnConnect и иже с ним ..
gonzales
опубликован 03-02-2002 18:49 MSK
Ну это я понял. Но я не врубился , каким это макаром влияет на то, в каком потоке создаётся сокет : дочернем или нет, с окном или нет. И вообще в каком месте происходит связывание моего сокета с окном? Спасибо.
purpe
опубликован 03-02-2002 18:52 MSK
CAsyncSocket создаёт не только собственное окно, но и собственный поток. Поэтому я бы не стал создавать CAsyncSocket в отдельном потоке ...
А вообще это длинная история. Я за неделю полностью разобрался с исходником CAsyncSocket и был полностью даволен тем, что узнал из него ...
gonzales
опубликован 03-02-2002 19:11 MSK
Так вопрос в следующем: можно ли нормально создать сокет в отдельном от главной программы потоке. Мне кажется любая нормальная прога (которая использует casynsocket ) так делает.