Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Net.Sockets.TcpListener
|
|||
|---|---|---|---|
|
#18+
Пишу тестовую программу клиент-сервер для пересылки текстовых сообщений. вот сервер: Dim MyIP1 As Net.IPAddress Dim message As String Dim B As String = Nothing Dim tStream As Net.Sockets.NetworkStream 'Stream Dim byte1(1024) As [Byte] 'Buffer MyIP1 = MyIP1.Parse("127.0.0.1") Dim MyListener As New TcpListener(MyIP1, 21000) MyListener.Start() 'While True 'в моем случае может быть любое другое условие Dim CLient As Net.Sockets.TcpClient CLient = MyListener.AcceptTcpClient() 'вот здесь обычно ждет клиента tStream = CLient.GetStream() message = tStream.Read(byte1, 0, byte1.Length) B = System.Text.Encoding.ASCII.GetString(byte1, 0, message) RichTextBox1.Text = B CLient.Close() 'End While MyListener.Stop() В таком виде все работает, но пересылается только ОДНО сообщение, после чего, естественно, прием прекращается и надо опять запускать процедуру. Убираю апострофы с /'While/ и с /'End While/, в результате: RichTextBox1.Text - пустой. Процедуру зацикливает. Делаю отладку, вижу, что программа останавливается и ждет на строке CLient = MyListener.AcceptTcpClient() пока не придет сообщение от клиента, то есть когда произойдет MyListener.pending = True Почему тогда процедуру циклит без апострофов? Подскажите пожалуйста, как сделать так, чтобы процедура всегда была в состоянии приема сообщений от клиента. Или как описать событие OnMyListener.Pending()? Я новичок в этой области. Наверно, чего-то недопонимаю... Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 19:47 |
|
||
|
Net.Sockets.TcpListener
|
|||
|---|---|---|---|
|
#18+
недавно писал винсок клиент/сервер, выдираю прямо из рабочего кода, без особых причесок и к сожалению на c#, но, думаю здесь главное понимание алгоритма: Код: 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. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 14:16 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32947341&tid=1437093]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 340ms |

| 0 / 0 |
