2010-11-17 4 views
2

Есть ли какие-либо протоколы обмена файлами с открытым исходным кодом? Если так, то кто они? может кто-нибудь сказать мне то, что я знаю, чтобы реализовать протокол, например, если я хочу написать протокол совместного использования рабочего стола, что мне нужно знать и откуда я должен начинать (предпочтительные языки Java, C++ и C#)Как реализовать протокол

Спасибо!

+0

Можете ли вы рассказать о том, что вы подразумеваете под «протоколом совместного использования рабочего стола» ..? Например, вы имеете в виду что-то вроде Microsoft Remote Desktop (RDP) или XWindows? – Sean

+0

протоколы с TeamViewer, VNC ... – Keshan

ответ

3

RFB - это протокол, используемый в приложениях VNC, и это открытая спецификация.

Протокол - это всего лишь язык, на котором сообщаются сетевые приложения. То есть, поскольку оба конца соединения говорят на одном языке (что означает, что они знают, какие байты означают, что в сообщении), они способны передавать значимую информацию друг другу и интерпретировать полученную информацию.

Таким образом, первое, что вам нужно сделать до внедрения протокола, - это научиться и понять его. Часто (и всегда в случае открытых спецификаций) будет документ, который объясняет протокол и все входы и выходы. Например, спецификация для RFB-протокола может быть найдена here.

Прочтите и реализуйте программу, которая может понять RFB, и вы создадите реализацию RFB.

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

+0

Протокол может не выполнять его, но есть и другие практические проблемы: удаленный рабочий стол _server_ должен захватывать полный рабочий стол, что может быть невозможно на всех языках. – MSalters

1

Протокол VNC (*) имеет множество реализаций с открытым исходным кодом, и на самом деле протокол Microsoft RDP также имеет несколько версий с открытым исходным кодом.

Протоколы не могут быть «открытыми» на самом деле - они могут быть «открытыми», как в «спецификациях, которые доступны для общественности бесплатно», и они могут быть «совместимы с открытым исходным кодом», как в «если вы реализуете протокол в открытом доступе» исходная программа, мы не будем уверены, что вы добавите ее », но обычно« с открытым исходным кодом »означает, что вы можете изменить источник, и изменение протокола не будет действительно полезным, потому что тогда вы не сможете взаимодействовать, не так ли?

Для клиента с открытым исходным кодом Microsoft RDP посмотрите на rdesktop, а проект xrdp реализует серверную сторону поверх протокола отображения X11. реализации VNC десять центов дюжина, но для начала вы можете захотеть взглянуть на tightvnc или realvnc

(*) На самом деле РФБ это протокол, используемый в VNC совместимых клиентов, как отметил Пол Ruane и VNC это имя оригинальный программный пакет и также используется в качестве общего термина для программного обеспечения, которое реализует RFB и использует ту же сетевую семантику, что и оригинальный клиент VNC.

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