2016-07-18 1 views
2

У меня есть требование, когда мне нужно отправить сообщение от нескольких клиентов, и эти клиенты могут быть клиентами C или клиентами Java на сервере, написанном в java.Могу ли я иметь C, а также Java-клиенты, которые могут подключаться к одному и тому же серверу Java?

Зачем мне нужно пересылать через сокет? Потому что в любом приложении может быть любой процесс, который хочет, чтобы мое приложение зафиксировало там сигналы тревоги и реагировало соответственно.

Теперь я могу реализовать несколько клиентов Java, которые могут подключаться к одному серверу Java, но как делать то же самое, независимо от того, является ли клиент клиента Java r C.

Если не сокет программирования, то, что может быть другим лучшим способом сделать это общение случиться

+2

Вы можете создать веб-приложение Java и открыть службу REST, SOAP или другую услугу, которая может быть использована _any_ клиентом с подключением к Интернету. –

ответ

3

Всего программирования низкого уровня сети записываются с помощью сокетов. вы можете иметь сервер, написанный на любом языке, общаться с клиентом, написанным на любом языке. Чтобы это произошло, у нас есть определенный протокол, который управляет связью, например, udp, tcp и т. Д. язык высокого уровня предоставляет api, который позволит вам подключить любой сервер с одной строкой кода, не создавая сокет. Но в C вы можете создать сокет и подключить его к серверу. see this. Все, что вам нужно знать, подключается к серверу и клиенту - сервер ip и порт ...

+0

Одиночный клиент и один сервер в порядке, но то, что я хочу, это несколько клиентов (C, java и т. Д.), Которые могут одновременно подключаться к одному серверу. – Charu

+1

Да. Ты можешь это сделать. Выбранные вами языки не важны. –

+1

@Charu Весь смысл протоколов связи заключается в том, что ни один конец не должен быть схожим, пока они используют один и тот же протокол. Это все машинный язык, независимо от того, на каком языке находится исходный код. – 4castle

0

Хотя ваши требования очень широкие, он очень похож на основного кандидата на протокольные буферы.

https://developers.google.com/protocol-buffers/

Язык агностик.
Платформа нейтральной.
Быстрый.

Выполняется на ZeroMQ (http://zeromq.org/), где вы можете нажать и в значительной степени запустить поверх всего.

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