|
|
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Поток для клиента описан следующим образом Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. По нажатию батона клиент всякий раз отсылает 'TEXT'. И сервер каждый раз его получает нормально. Но почему клиент не получает 'Привет'? Обработчик OnRead не срабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 18:49 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
OxY63rusНо почему клиент не получает 'Привет'? Обработчик OnRead не срабатывает. Поскольку кода клиента ты не показал, вангую, что он из сокета не читает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 20:06 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, братан, привожу код Код: pascal 1. 2. 3. 4. Как же я мог забыть его привести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 20:18 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, отправка Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 20:20 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, вабанк кидаю текст юнита. Клиент и сервер в одной программе Код: pascal 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. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 20:24 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Ты клиенту поток создать забыл. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 20:37 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, как так? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Есть же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 20:44 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
OxY63rusЕсть же TClientSocketSet ClientType to ctNonBlocking to enable the client socket to respond to asynchronous reading and writing events. When ClientType is ctNonBlocking, execution is not blocked by reading and writing over the socket connection. OnRead or OnWrite events occur when the socket needs to read or write over the connection. When ClientType is ctBlocking, use a TWinSocketStream object for reading and writing. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 21:10 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, офигеть. Спасибо за науку. А , собсно, где это делать? OnConnect клиента? А из чего? приму любые заумные ссылки по теме. За исключением отсылок к Socket API от живодёров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 21:20 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, начитал . Буду пробовать. Если что подыму тему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 21:51 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Я правильно понимаю, что у TWinSocketStream я не смогу получить ReceiveLength и мне придётся с отправляющей стороны оканчивать отправляемую строку нулевым чаром, а на принимающей стороне разгребать весь буфер до нулевого чара? :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 23:23 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
OxY63rusа на принимающей стороне разгребать весь буферЭто делать в любом случае придется. Никакой магии в ReceiveText не будет. Будет 1-й раз "TEX", 2-й раз - "T". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 01:11 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
OxY63rus, Indy позволяет получить строку целиком: https://stackoverflow.com/questions/19371049/delphi-indy-readln-with-timeout ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 01:42 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
makhaon, про Indy не желаю ничего слышать по религиозным соображениям ;) прости ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 11:23 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
OxY63rusпро Indy не желаю ничего слышать по религиозным соображениям Но при этом используешь компоненты, которые по кривизне недалеко от него ушли. Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 12:42 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, я не говорю о безупречности scktcomp, а о том, что я не буду добавлять Id из-за одной функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 13:03 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
OxY63rus, Тогда страдай :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 14:28 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
OxY63rusмне придётся с отправляющей стороны оканчивать отправляемую строку нулевым чаром, а на принимающей стороне разгребать весь буфер до нулевого чара? :(Есть две модели пересылки данных по сокету 1. Каждое сообщение заканчивать неким терминатором 2. В начале каждого сообщения отправляется заголовочный пакет фиксированной длины, в котором указывается длина сообщения Других вариантов для адекватной работы системы нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2018, 19:36 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Не буду создавать тему, подниму эту. Подскажите, если в потоке я буду работать с сокетами (в рантайме создавать ClientSocket) в неблокирующем режиме, это просто не прилично так делать или черевато какими-то ситуациями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 13:12 |
|
||
|
Работа с сокетами в блокирующем режиме
|
|||
|---|---|---|---|
|
#18+
Это не имеет смысла. Вся суть TClientSocket - лежать на форме в design-time. В любом другом случае гораздо проще и удобнее пользоваться функциями winsock непосредственно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 14:06 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39727772&tid=2040120]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 421ms |

| 0 / 0 |
