Вопросы по теме 'network-programming'

NetworkStream.Write немедленно возвращается — как я могу узнать, когда он закончил отправку данных?
Несмотря на документацию, NetworkStream.Write не ожидает отправки данных. Вместо этого он ждет, пока данные не будут скопированы в буфер, а затем возвращается. Этот буфер передается в фоновом режиме. Это код, который у меня есть на данный момент....
12476 просмотров
schedule 19.08.2023

Что вы используете, когда вам нужен надежный UDP?
Если у вас есть ситуация, когда TCP-соединение потенциально слишком медленное, а UDP-соединение потенциально слишком ненадежно, что вы используете? Существуют различные стандартные надежные протоколы UDP. Какой у вас опыт работы с ними? Обсудите,...
68757 просмотров
schedule 29.07.2022

Шаблоны для многопоточного сетевого сервера в C#
Существуют ли какие-либо шаблоны/шаблоны/руководства, которым я могу следовать при разработке многопоточного сервера? Я не могу найти ничего ужасно полезного в Интернете через мои поиски в Google. Моя программа запустит поток для прослушивания...
9918 просмотров

Почему записи SocketChannel всегда завершаются на полную сумму даже на неблокирующих сокетах?
Используя Sun Java VM 1.5 или 1.6 в Windows, я подключаю неблокирующий сокет. Затем я заполняю ByteBuffer сообщением для вывода и пытаюсь write() передать SocketChannel. Я ожидаю, что запись будет завершена только частично, если объем записи...
3021 просмотров
schedule 30.08.2022

Как вы ограничиваете пропускную способность соединения сокета в C?
Я пишу клиент-серверное приложение, используя сокеты BSD. Он должен работать в фоновом режиме, непрерывно передавая данные, но не может использовать пропускную способность сетевого интерфейса при обычном использовании. В зависимости от скорости...
15603 просмотров
schedule 20.10.2022

Ресурсы Java RMI
В настоящее время я занимаюсь проектом, который включает широкое использование Java RMI, и мне было интересно, знает ли кто-нибудь о каких-либо хороших ресурсах по этому поводу. Проблема, с которой я сталкиваюсь с материалом, который я нахожу в...
3913 просмотров
schedule 07.05.2023

Ruby — посмотреть, открыт ли порт
Мне нужен быстрый способ узнать, открыт ли данный порт в Ruby. Я в настоящее время возиться с этим: require 'socket' def is_port_open?(ip, port) begin TCPSocket.new(ip, port) rescue Errno::ECONNREFUSED return false end return...
28014 просмотров
schedule 13.04.2024

Написание сервера на основе сокетов на Python, рекомендуемые стратегии?
Недавно я читал этот документ , в котором перечислены некоторые стратегии, которые можно использовать для реализации сервера сокетов. . А именно они: Обслуживайте множество клиентов с каждым потоком и используйте неблокирующий ввод-вывод и...
6765 просмотров

Подходит ли SCTP для одноранговых приложений?
Я рассматриваю возможность использования SCTP вместо TCP для p2p-приложения, написанного на C. Стоит ли мне это делать? ? Также как скорость SCTP соотносится со скоростью TCP? РЕДАКТИРОВАТЬ: я обнаружил, что SCTP можно туннелировать через UDP...
2453 просмотров

Определить IP-адрес принтера в C#
Я хотел бы определить IP-адрес принтера с помощью С# (.NET 2.0). У меня есть только общее имя принтера, установленное в ОС Windows, в формате \\PC Name\Printer Name . Принтер является сетевым принтером и имеет другой IP-адрес, чем ПК. У...
22686 просмотров
schedule 03.06.2022

Двойной системный вызов write () вызывает резкое замедление работы сети
В частично распределенном сетевом приложении, над которым я работаю на C ++ в Linux, у меня есть абстракция передачи сообщений, которая отправляет буфер по сети. Буфер отправляется в два этапа: сначала отправляется 4-байтовое целое число, содержащее...
505 просмотров
schedule 22.05.2022

Что такое BSD (или портативный) способ получить байт ToS (например, IP_RECVTOS из Linux)?
Каков правильный (портативный, стабильный) способ получить байт ToS полученного пакета? Я выполняю UDP с помощью recvmsg(), и в Linux я могу получить ToS, если я setockopt() IP_RECVTOS/IPV6_RECVTCLASS, но IP_RECVTOS, похоже, недоступен в моих...
2644 просмотров
schedule 07.06.2022

Как справиться с буферизацией данных, считанных из сети?
При чтении данных по сети вы указываете буфер для приема данных: byte[] b = new byte[4096]; socket.Receive(b); Теперь моя первая мысль, конечно же, повторно использовать приемный буфер, объявив его как переменную-член класса. Моя следующая...
2169 просмотров
schedule 15.04.2022

Абстракция сетевого программирования, декомпозиция
У меня проблема в следующем: Серверный процесс 1 Постоянно отправляет обновления, которые происходят в хранилище данных Серверный процесс 2 Клиенты связываются с сервером, который запрашивает хранилище данных и возвращает результат....
286 просмотров

Кодирование, декодирование целого числа в массив символов
Обратите внимание, что это не домашнее задание, и я искал перед тем, как начать эту новую ветку. Я получил Сохранить int в массиве символов? Я искал ответ, но не получил удовлетворительного ответа в приведенной выше теме. Вот мое требование:...
8840 просмотров
schedule 05.06.2024

Документация Boost.Asio отсутствует. Что означают эти ошибки?
Я борюсь с двумя ошибками с Boost.Asio. Первый возникает, когда я пытаюсь получить данные в сокете: char reply[1024]; boost::system::error_code error; size_t reply_length = s.receive(boost::asio::buffer(reply, 1024), 0, error); if (error) cout...
1748 просмотров

Оптимизация сервера локальной сети для игры
Я сетевой программист в проекте школьной игры. Мы хотим иметь до 16 игроков одновременно в локальной сети. Я использую модель «сервер-клиент» и создаю новый поток для каждого присоединяющегося клиента. Однако много процессорного времени тратится...
600 просмотров

Неблокирующий сокет в Windows не возвращается после вызова send()
Я надеюсь, что кто-нибудь сможет объяснить ситуацию — любую ситуацию, — в которой неблокирующий сокет Windows не вернется сразу же после использования для него функции send(). На других платформах мой код работает так, как задумано, так что это...
3408 просмотров

Использование recvfrom () с необработанными сокетами: общие сомнения
Я создал необработанный сокет, который принимает все пакеты IPv4 с уровня канала данных (с удаленным заголовком уровня канала данных). А для чтения пакетов использую recvfrom . Я сомневаюсь: предположим, что из-за некоторого планирования,...
2213 просмотров
schedule 04.04.2022

Обертка, совместимая с сокетом BSD, вокруг Winsock?
Я пытаюсь перенести приложение Linux на Windows. Приложение не слишком сложное, в нем используется достаточно стандартный код с небольшим количеством внешних зависимостей. Основными зависимостями являются libelf (которая отлично компилируется под...
2224 просмотров