2016-09-28 2 views
-3

Я пытаюсь реализовать программу, которая сама по себе может отправлять TCP-пакеты. В идеале я хочу отправить пакет в порт на компьютере и обработать его. Это означает, что я пытаюсь сделать это, не имея пары файлов клиент/сервер.Программирование сокетов - Основы TCP

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

Можно ли сделать то, что я хочу?

+1

Что вы хотите, не имеет смысла. – EJP

+0

Какая польза для запуска сервера сама по себе, с чем не связано с ним? Или запустить клиента без чего-либо для подключения к нему на другом конце? Если вы отправляете данные на порт, сервер должен прослушивать этот порт, чтобы получить его и сделать с ним что-то. Порт не работает сам по себе. TCP не то, что вы ищете; трудно сказать, каково будет правильное решение, потому что вы не представили никаких значимых подробностей о том, что вы пытаетесь выполнить. Google * межпроцессное общение * плюс ОС, на которые вы нацеливаетесь, и проводите некоторые исследования. –

+0

Должна быть какая-то программа, слушая порт, на который вы отправляете пакет, в противном случае сетевой стек целевого компьютера просто удалит пакет. Вы можете использовать ранее существовавшую серверную программу (например, telnetd или netcat или аналогичную) в качестве сервера, если вы не хотите писать свои собственные. –

ответ

0

Не знаете, почему вы хотите это сделать. Но для отправки таких пакетов вам необходимо использовать API для IP raw-сокета (SOCK_RAW) вместо TCP.

Таким образом, вы можете отправлять IP-пакеты с полезной нагрузкой своего «обработанного TCP».

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