Это на самом деле не большая проблема - до тех пор, пока вы придумаете хороший протокол. Битам на проводе не важно, какой язык использовался для написания программы, которая их интерпретирует.
Под протоколом я имею в виду, что вам нужно четкое понимание того, кто должен что делать, когда, что говорить,
и что ожидать обратно.
Например, эхо-сервер и его клиент могут ожидать, что
- клиент говорит первым
- есть понятный идентификатор для обозначения конца ввода клиента
- клиент будет ждать ответа сервера, прежде чем снова говорить
- есть хорошо понятный идентификатор для обозначения конца вывода сервера.
И так далее. Другой клиент, который отправил длину сообщения перед сообщением вместо использования идентификатора конца ввода, не будет работать с исходным сервером из-за несовместимости протокола.
Протоколы могут быть гибкими, но вы должны учитывать эту гибкость в самом протоколе.