net.tcp
просто схема URI используется в Windows, чтобы определить конечные точки, которые могут быть доступны с помощью TCP.
Аналогично, net.msmq
и net.pipe
, являются схемы URI по решению конечных точек, которые используют MSMQ protocol и Named Pipes protocol, соответственно.
Префикс net
на всех трех указывает, что схема URI была разработана исключительно для использования на платформе Microsoft .NET и обычно не принимается в более широком Интернете. (Другие схемы URI, такие как http
и ftp
, имеют общепринятые значения и поэтому используются в WCF без префикса). Поэтому префикс net
служит предупреждающим звонком, что связанная конечная точка будет иметь ограниченную/несовместимую с другими приложениями, которые не работают на платформе .NET.
Пример URIs:
net.tcp://localhost:7272
net.msmq://somemachine/publicQueue
net.pipe://machine.domain.com/somePipe
SIDEBAR: Хотя MSMQ и именованные каналы, очевидно, протоколы Microsoft и, следовательно, отсутствие взаимодействия неудивительно, TCP является протоколом основы Интернета и, следовательно, Конечно, это использование в WCF не должно быть специфичным для .NET?
Ну, совместимость в WCF уже обрабатывается SOAP и HTTP, которые оба работают поверх TCP. Если вы хотите взаимодействовать через TCP - используйте один из этих протоколов.
Таким образом, Microsoft стремилась предоставить альтернативу коммуникации, когда ключевой задачей была производительность, а не интероперабельность. TCP был логическим выбором, но TCP является протоколом относительно низкого уровня, который требует дополнительного поведения и значений по умолчанию, которые должны быть реализованы, чтобы работать прямолинейно для платформы обмена сообщениями, такой как WCF. Кроме того, нет общепринятой схемы URI для доступных для TCP ресурсов, поэтому Microsoft необходимо ее изобрести. Таким образом, родился net.tcp
.
Хотя сами URI не обязательно указывают точно, какое обязательство использовать, они дают подсказку. В соответствии с ответом Саймона Мурье, привязки, доступные в настоящее время в WCF, можно найти here. Так, например, адрес net.tcp
может указывать на то, что NetTcpBinding, NetPeerTcpBinding или NetTcpContextBinding не требуется.
Почему я не могу начать щедрость за этот вопрос? я не видел кнопку стартовой баунти. – smwikipedia
net.tcp является схемой uri, тогда как TCP является единственным протоколом. это используется для WCF для приема или отправки сообщения WCF через TCP с использованием бинарного протокола .NET framing при использовании привязки по умолчанию. По умолчанию для этого является порт 808, а формат кадрирования использует .net двоичное сообщение. – Sajay