У меня есть TCP-сервер, который прослушивает только определенный интерфейс. Я хочу, чтобы после вызова accept()
, если входящее соединение было от xxx.xxx.xxx.0
подсети, тогда данные должны проходить через intf1, иначе данные должны быть отправлены через intf2, где находится мой сервер.Ручной выбор интерфейса на TCP для отправки данных
Оба интерфейса имеют одинаковые настройки маршрута и приоритет. Все сети доступны из обоих интерфейсов.
Одним из путей может быть добавление нового маршрута через intf1 с более высоким приоритетом, но я хочу, чтобы это было основано на кодах.
Код находится в чистом C, написанном на Linux.
Возможно, есть хороший способ решить любую проблему, которая, по вашему мнению, будет решена. Но это, вероятно, не самый правильный способ сделать это. – 2011-08-18 23:10:03