powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопрос по сокетам
7 сообщений из 7, страница 1 из 1
Вопрос по сокетам
    #35295580
D-TAU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я Использую асинхронные сокеты. Клиент серверу передаёт некокоторые данные которые формирует как {команда данные r\n\}, То есть заканчивается стандартным флагом перенос каретки, конец строки.
Возможно ли такая ситуация, что переданная {команда данные r\n\}, прийдёт на асинхронные(хотя не имеет значения) по частям, припустим: {команда }потом {данные r\n\} ?...то есть я сначала получу {команду} с потока а потом {данные r\n\} (или даже на более мелкие сообщения), или целостность преданного сообщения контролируется самим протоколом ?

Знаю что ситуация когда передаёшь подряд несколько сообщения, а они приходят на конечный сокет в одном сообщении возможна.

PS Меня не интересует уровень пакетов, только уровень ссобщений который передаются/принимаются комадами send/resive
...
Рейтинг: 0 / 0
Вопрос по сокетам
    #35295591
Dan Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, сообщение может прийти по частям (TCP).
Код: plaintext
1.
----------------------------
 Verba volent, scripta manent 
...
Рейтинг: 0 / 0
Вопрос по сокетам
    #35295610
smskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой протокол используется? Если ТСР, например, то возможно по частям
...
Рейтинг: 0 / 0
Вопрос по сокетам
    #35298060
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D-TAU...или целостность преданного сообщения контролируется самим протоколом ?...только уровень ссобщений который передаются/принимаются комадами send/resive

судя по поведению - уровень протокола TCP/IP ?
Да, это потоковый протокол. Т.е. клиенту предоставляется двунаправленная труба и всё. Целоснтность передачи и обязательность доставки (т.е. сто пудово ничего не пропадёт) - ГАРАНТИРУЕТСЯ самим протоколом. А вот гранулярность данных - об этом в протоколе НИЧЕГО НЕ сказано. Т.е. (в зависимости от тайм аутов и ситуации в сети!) Вы можете получить именно такую картину как вы описали...т.е. прийти сразу кучей несколько посылок удалённого клиента, либо прийти половина от сообщения и потом дослаться кусочек ышо с другим началом данных... Можно видеть под отладчиком гранулярность передачи, но(!) и это ОЧЕНЬ ВАЖНО(!) нужно понимать что при уменьшении времени на обработку данных картина может резко измениться. Так например эти проблемы часто возникют при ударном тестировании системы, когда программист этих нюансов не учёл...увы это одна из самых распространённых ошибок юзанья TCP слоя...

при использовании данного протокола надо представлять его как потоки на ввод и на вывод...вот собственно и всё...

с уважением
(круглый)
...
Рейтинг: 0 / 0
Вопрос по сокетам
    #35299827
D-TAU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И ещё один вопрос: Как определить свободный порт в системе, желательно на C#, или есть какаято Win API функция ?
...
Рейтинг: 0 / 0
Вопрос по сокетам
    #35299892
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробовать сделать порту bind(), если нет ошибки -не занят, если что-то вроде EINVAL - то используется
...
Рейтинг: 0 / 0
Вопрос по сокетам
    #35300347
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--null--попробовать сделать порту bind(), если нет ошибки -не занят, если что-то вроде EINVAL - то используется
плохой способ, в случае, если кто-то уже прибиндился к конкретному адресу, ошибки не будет.
на c# - просто создайте IPEndPoint(0,0) После Bind - номер порта, назначенный системой будет в LocalEndPoint сокета
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопрос по сокетам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]