Могу ли я использовать методы сокетов для создания такого общения [...]?
Конечно! Вам просто нужно сделать один сокет-сервер, а другой - клиент + создать + реализовать протокол (если это всего лишь один клиент + сервер и вам не нужна безопасная связь, это довольно просто). Возможно, у вас уже есть опция сокета в вашей среде COBOL или вы можете использовать внешние библиотеки, такие как free CBL_GC_SOCKET
(работает для многих реализаций COBOL, если они могут вызывать двоичные файлы C / C ++).
Или существуют ли другие способы обмена данными между этими двумя языками?
Множество (особенно если они работают на одном компьютере).
- В зависимости от используемой среды COBOL у вас может быть опция прямой сборки NET и
CALL
/ invoke, или вы можете написать для этого слой, запустив код COBOL, переведенный в собственный код в C#. - Прямой ввод / вывод часто является решением (зависит от потребностей и условий, не у всех есть опция двунаправленного канала).
- связь с сервером очереди сообщений (вероятно, не превосходящая по производительности)
- , если среда COBOL поддерживает это: создайте конечную точку REST и используйте ее для связи; или сделайте это наоборот, разговаривая из COBOL со службой REST, реализованной в C# (REST из COBOL, вероятно, является «наиболее переносимым» способом из упомянутых, но также и с худшей производительностью)
- ...
Вывод: нет ничего, что мешало бы COBOL "общаться" с любым разумным "другим языком программирования", вам в основном нужно посмотреть, что вы делаете на COBOL, а "другой язык программирования" предоставляет и каковы ваши цели.