| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > неработает send() |
| Автор: Townsmen 4.9.2011, 19:11 | ||
| Данные с клиента получаю все ОК... а отправить не могу клиенту, cnt==-1 Может я что-то не то делаю, где ошибка? Код:
|
| Автор: boostcoder 4.9.2011, 19:39 |
| что в errno ? |
| Автор: Townsmen 4.9.2011, 22:56 |
| я работаю в Visual C++, как здесь можно посмотреть код ошибки? |
| Автор: boostcoder 4.9.2011, 23:04 |
как обычно. либо GetLastError() |
| Автор: Townsmen 4.9.2011, 23:23 | ||
извините, я не понимаю что Вы имеете в виду "как обычно либо GetLastError()" я откомпилировал без ошибок, а как посмотреть ошибку при тестировании я не знаю Добавлено через 3 минуты и 6 секунд можно подробней? |
| Автор: boostcoder 4.9.2011, 23:32 | ||
функцию SendString() измени так:
и покажи вывод. |
| Автор: Townsmen 4.9.2011, 23:38 |
| Вывод: error: 10057 |
| Автор: boostcoder 4.9.2011, 23:41 |
ну вот ;) http://support.microsoft.com/kb/839503 |
| Автор: Townsmen 5.9.2011, 00:11 |
| получается односторонняя коммуникация уже пробовал менять порт, всё равно без изменений... смотрел на форумах: пишут что ошибка возникает после отключения сокета или отвергания отправки может ето потому что у меня клиент написан на action script 3 ? |
| Автор: boostcoder 5.9.2011, 00:25 |
а клиент не отключается раньше чем этот код успевает отработать? |
| Автор: Townsmen 5.9.2011, 00:35 |
| клиент постоянно подключен и отправляет не одно сообщение, а несколько вывод такой: -1 error: 10057 dssd -1 error: 10057 dsdsds -1 error: 10057 dsdsd после того как я послал 3 сообщения: dssd, dsdsds, dsdsd завтра попробую другой клиент, может ето что-то на стороне клиента не то... |
| Автор: Олег2005 6.9.2011, 14:39 |
| listen(s, 1); Попробуйте listen(s, 5); При единице очередь маловата. |
| Автор: Townsmen 6.9.2011, 15:22 |
| Сделал listen(s, 5); всеравно без изменений Какой Lib нужно подключать Ws2_32.lib или WSOCK32.LIB ? Пробовал по очереди, безрезультатно... Может у кто-то поможет своим рабочим исходником, а я уже переделаю? |
| Автор: boostcoder 7.9.2011, 00:06 |
| выложи полностью код клиента и сервера. |
| Автор: Townsmen 7.9.2011, 00:33 |
| код сервера в первом посте. клиент на AS3 прикрепил Добавлено через 7 минут и 42 секунды я только начинаю осваивать сокеты, по этому клиент можно любой подключать |
| Автор: boostcoder 7.9.2011, 01:13 | ||
ааа.. но я не знаю ActionScript держи:
в коде могут быть мелкие синтаксические ошибки. ибо я не компилировал его. нет вендус. запускай, и показывай вывод. |
| Автор: Townsmen 7.9.2011, 14:34 | ||
| оО то что надо только добавил строку и скомпилировал
послал сообщение "super", в итоге соединение отключилося и вывод accepted new connection: 108 received 7 bytes sended 5 bytes значит всё работает, я еще сделал что бы выводило переменную str c значением hello |
| Автор: boostcoder 7.9.2011, 14:46 |
получается что твой клиент отправляет сообщение и отключается. потому что строка "received 7 bytes" вывелась бы только в том случае, если бы было прочитано sizeof(szRecvBuff) байт. и выглядела она так: received 12 bytes Добавлено @ 14:47 это вряд ли. а клиент принимает то что ты посылаешь? т.е. "hello". |
| Автор: Townsmen 7.9.2011, 14:53 |
| да клиент что-то не принимает "hello" ((( |
| Автор: Townsmen 7.9.2011, 15:15 |
| я уже разобрался с клиентом, данные уже приходят В AS3 есть 2 вида сокетов: Socket и XMLSocket, у меня был XMLSocket, потому оно что-то не работало, да ещё в флеш после каждой отправки сообщений (send) нужно делать очистку (flush) Делаю тему как решена. Спасибо, boostcoder за помощь! Жаль что не могу поднять тебе репутацию( |
| Автор: boostcoder 7.9.2011, 15:32 |
удачи. |