У меня есть TCP-сервер / клиент, где сервер прослушивает порт 5000, а исходящий порт клиента - 39000.
У меня настроен Stunnel на сервере:
[custom]
accept = 6000
connect = 5000
... поэтому он принимает подключения через порт 6000 и перенаправляет его на номер 5000 (который прослушивает мой Server.c).
Я попытался настроить STunnel на клиенте следующим образом:
[custom_cl]
accept = 39000
connect = 192.168.1.3:6000
... поэтому он принимает любые данные с порта 39000 и отправляет их на сервер (скажем, на 192.168.1.3) на порт 6000.
Мой клиент имеет этот код:
client_addr.sin_family = AF_INET;
client_addr.sin_port = htons(39000);
client_addr.sin_addr.s_addr = inet_addr("0.0.0.0");
bzero(&(client_addr.sin_zero),8);
if (bind(sock, (struct sockaddr *)&client_addr, sizeof(struct sockaddr))
== -1) {
perror("Unable to bind");
exit(1);
}
... чтобы он всегда отправлялся через порт 39000. Моя проблема в том, что я получаю сообщение «Невозможно связать: адрес уже используется», потому что (я предполагаю) STunnel прослушивает порт 39000. Я буду делать?