Пожалуйста, кто-нибудь может помочь в написании программы сокет-сервер-клиент на c / c ++ - PullRequest
0 голосов
/ 11 ноября 2011

Я новичок в сыром сокете.Я хочу написать сервер и клиентское приложение, которые используют необработанные сокеты для отправки и получения необработанных данных в одном или нескольких файлах.Каждый файл может содержать один или несколько сегментов данных по 50 байт каждый с определенными разделителями (т. Е. Пробел, возврат каретки и т. Д.). Задача моего сервера - читать из файла и отправлять каждый сегмент за раз.Каждый пакет должен содержать только данные без какой-либо традиционной информации заголовка, такой как заголовок Ethernet, такой как MAC-адреса (пакет может содержать некоторую форму данных перед пакетом, чтобы указывать длину и / или начало пакета и разделительуказать конец пакета).Клиентское приложение должно просто прослушивать порт, анализировать данные и записывать необработанные данные в файл.

Пожалуйста, помогите мне.Я нашел много необработанных программ сокетов, но ни одна не была яснаЕсли бы кто-нибудь мог дать мне твердое начало, это было бы здорово.

1 Ответ

4 голосов
/ 11 ноября 2011

Вы можете увидеть здесь: http://sock -raw.org /apers / sock_raw , но то, что вы говорите, действительно возможно.На самом деле, представьте, что в ваших данных есть данные, соответствующие протоколу, который можно маршрутизировать, пакет будет маршрутизирован.Действительно, если вы видите документацию, необработанный заголовок дескриптора сокета и полезную нагрузку.У вас ДОЛЖЕН быть заголовок (в вашем случае он должен начинаться с 0, чтобы сказать личный заголовок, а после отсутствия заголовка, оправдать полезную нагрузку).И, возможно, это может быть работа с очень простым маршрутизатором / коммутатором, но в настоящее время это звучит сложно, потому что маршрутизатор просматривает данные и может представить, что это поврежденные данные.

...