2016-11-15 9 views
2

Я прочитал определение сокетов как «наиболее часто используемый API для соединений UDP/TCP» (школьный материал). Мне любопытно узнать, есть ли альтернативы, и пока не удалось найти его. Я не имею в виду добавленные уровни абстракции (например, RPC или RMI), или вещи, использующие другой сетевой стек, но используя что-то другое, которое выполняет ту же роль по-другому.Альтернативы сокетам

Возможно, я неправильно понял роль сокета, я бы подумал, что он подходит к слою OSI сеанса или, может быть, к транспортному? Я не уверен в этом.

Я не планирую использовать эти альтернативы, и я понимаю, насколько удобны сокеты, мне просто интересно.

Благодарим Вас за интерес

+0

Возможный дубликат [Что является альтернативой программированию сокета?] (Http://stackoverflow.com/questions/474386/what-are-the-alternatives-to-socket-programming) –

+0

Я проверил эту тему, но 1) это старый и, возможно, новые проекты рождаются с тех пор 2) он специфичен для C# (мне не нужен язык) 3) кажется, что автор удовлетворен добавленным уровнем абстракции. Я указал, что я ищу ** альтернативы **, а не добавленные абстракции (что я уже имею в виду). Спасибо за проверку, хотя :) –

+1

'использование другого сетевого стека', но это именно то, что есть. Другой сетевой стек с другой реализацией, например. TCP и различные API. Нет основополагающих причин, по которым должны быть функции 'listen' и' bind'. – usr

ответ

0

Если вы не планируете использовать другой сетевой стек, я думаю, ответ нет. Причина этого в том, что сокет реализован с сетевым стеком. TCP и UDP, например, используют сокет для сохранения неотправленных данных и полученных данных. Вы можете определенно реализовать некоторые API для чтения данных и записи данных в эти буферы. Но я не вижу никакого преимущества в этом, и эти API действительно построены на socket.

+0

Нет, они не. Интерфейс TLI не имеет ничего общего с интерфейсом Sockets. И интерфейс Socket используется для сокетов домена Unix, а также TCP и UDP, поэтому он не «тесно связан» с ним вообще. – EJP

+0

Я думаю, что A. Grenouilloux задает альтернативные сокеты, которые могут работать в одном сетевом стеке. В системе Linux TCP или UDP напрямую помещают данные в буфере сокета. Поэтому, если вы не меняете сетевой стек, как вы можете обойти это? – user2760751

 Смежные вопросы

  • Нет связанных вопросов^_^