|
WinSock хочу доконать
|
|||
---|---|---|---|
#18+
Написал функцию сама функция работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
котораю хотелось б использовать и проверить на WinSock Запуск Код: plaintext 1. 2. 3. 4. 5.
но немогу проверить поскольку на простом соединении происходит ошибка №10048 К примеру вот сдесь выдает уже ошибку Код: plaintext 1. 2.
"Address in use" Что делаю не правильно ? Что-то видимо не так настроил WinSock. Уже забыл как раньше делал...( ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2011, 23:15 |
|
WinSock хочу доконать
|
|||
---|---|---|---|
#18+
После чего заработало Оказывается Winsock нуждается в дополнительном времени соединения, и после команды .Connect нужно дождаться конекта, а после чего давать запрос SendData Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
где S1 может любой запрос, который не оставляет на локалке следовGET / HTTP/1.1 User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.11 Host: www.google.com.ua Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Encoding: gzip, deflate Cookie: GZ=Z=1; PREF=ID=eb:U=37:FF=0:TM=1239:LM=6947:S=a1ezCd; SID=4AQ; HSID=AC; NID=48=Tg1 Cache-Control: no-cache Connection: Keep-Alive (дополнительный перевод строки vbcrlf) (дополнительный перевод строки vbcrlf) Даем разрешение пользоваться Winsock Код: plaintext 1. 2.
Еще вот деталь одну не знаю: нужно ли закрывать конект если адрес остается тот же а запрос только другой передаю. И еще будет вопрос о приеме данных. У меня иногда не все данные принимаются. Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2011, 18:46 |
|
WinSock хочу доконать
|
|||
---|---|---|---|
#18+
Андрей159нужно ли закрывать конект если адрес остается тот же а запрос только другой передаю. Если использовать HTTP/1.1 - с заголовком Keep-Alive:Connection - то сервер не закрывает соединения после ответа, и можно отправлять данные. Но лучше перед отправкой проверить состояние сокета, так как сервер может игнорировать этот заголовок (мало ли)... или что ещё может случиться со связью. Андрей159У меня иногда не все данные принимаются. Так как размер пакета ограничен... (У меня около 8 кб, хотя вроде где-то читал что размер буфера 64К для передачи.. ну да ладно) вообщем нужно дождаться пока сервер не начнёт закрывать соединение - значит файл пришёл (в случае если нет заголовка Content-Length), так как раз в нём содержится длина ответа от сервера. А с UDP другие вещи, что конкретно с ним не получится, задавайте ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2011, 20:00 |
|
WinSock хочу доконать
|
|||
---|---|---|---|
#18+
Где-то я этот вопрос поднял на форуме. Выложу отрывок проги работающей Обрати внимания на Private m_blnHeaderArrived As Boolean Используется для проверки (True), что все данные поступили Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2011, 21:30 |
|
WinSock хочу доконать
|
|||
---|---|---|---|
#18+
Еще. Можно скачать полностью код по следующему адресу http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=52072&lngWId=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2011, 21:45 |
|
|
start [/forum/topic.php?fid=60&msg=37329575&tid=2158583]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 137ms |
0 / 0 |