реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Работа с сокетами.
Jenya7
сообщение Nov 14 2017, 15:04
Сообщение #31


Профессионал
*****

Группа: Участник
Сообщений: 1 436
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(XVR @ Nov 14 2017, 18:11) *
Нет. bind дает вашему локальному сокету адрес. При приеме (когда сокет серверный) именно к этому адресу должны будут присоединяться клиенты (или посылать на него пакеты - например для UDP сокетов). Адрес однозначно определяет в какой сети находится ваш сервер. Система не даст присвоить IP сокету из другой сети.
При передаче все проще - система сама даст адрес сокету, если вы его не присвоили явно через bind. IP будет взято из вашей сети (если сетей несколько, то одно из них - система выберет). Если вы пытаетесь присоединится к адресу не из вашей сети, то пакет будет отправлен в gateway (ну или туда, куда отруководит таблица роутинга).
Если IP назначения принадлежит одной из ваших сетей - пакет будет отправлен напрямую на сервер с локального сокета, который получит адрес в этой самой сети (ну или если он уже имел такой адрес)

у меня IP = 10.0.0.10 а я делаю bind на 192.168.3.10 - поэтому я получаю ошибку на bind?

но в этом идея - развести сокеты по разным IP.

Сообщение отредактировал Jenya7 - Nov 14 2017, 15:17
Go to the top of the page
 
+Quote Post
k155la3
сообщение Nov 14 2017, 16:07
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 751
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(Jenya7 @ Nov 12 2017, 18:23) *
. . .
тут возникает другой вопрос. допустим сконфигурировал
Код
//FIRST IP;
ifAddrSet ("ETH0","10.0.0.10");           [b]IP для интерфейса, он "видится" маршрутизатором извне[/b]
ifMaskSet ("ETH0", 0xffffff00);             [b]маска. Отсюда видим, что для девайса выделена "минимальная" сеть на 254 (кажется) адреса[/b]
//SECOND IP
ifAddrAdd ("ETH0","192.168.101.100","192.168.101.255",0xffffff00);     [b] (!) А вот тут я не уверен. Диапазон адресов из другой сети [/b]?

. . . .
Отсюда может быть и ошибка.

ps
Может виртуальный интерфейс (второй)
Код
sudo gedit /etc/network/interfaces
И редактируешь его приводя к следующему виду:
auto eth0
iface eth0 inet static
  address 192.168.1.5
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.1
  dns-nameservers 8.8.8.8 192.168.1.1

auto eth0:1
iface eth0:1 inet static
  address 192.168.0.5
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.0.1
  hwaddress ether 00269ebba619 --------------------- это похоже на "виртуальный" MAC
  dns-nameservers 8.8.8.8 192.168.1.1
Go to the top of the page
 
+Quote Post
gosha-z
сообщение Nov 14 2017, 16:33
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 30-10-05
Пользователь №: 10 288



Цитата(XVR @ Nov 14 2017, 15:11) *
Нет. bind дает вашему локальному сокету адрес.
Тогда уж пару адрес-порт, если вы хотите, чтобы при send/sendto у вас source port был определенный. Только для передачи по UDP сокет биндить необязательно, в случае stream протокола "обратка" пойдет по установленному исходящему соединению.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Nov 20 2017, 08:39
Сообщение #34


Профессионал
*****

Группа: Участник
Сообщений: 1 436
Регистрация: 29-03-12
Пользователь №: 71 075



Продолжаю серию дурацких вопросов.
У меня NFS-сервер. Я должен положить в NFS-папку линковочный файл (symbolic link) а NFS клиент открыв его перенаправиться к файлу указанному в symbolic link.
Такое возможно? Или клиент может видеть только свою NFS-папку?

Сообщение отредактировал Jenya7 - Nov 20 2017, 09:16
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 20 2017, 10:46
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 3 042
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
Такое возможно?
Переход по символической ссылке? Возможен конечно.
Цитата
Или клиент может видеть только свою NFS-папку?
Клиент увидит строку с символической ссылкой и перейдет по нет (на клиенте). Куда она будет смотреть - это будет определять клиент. NFS сервер к этому отношения не имеет
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Nov 20 2017, 10:54
Сообщение #36


Профессионал
*****

Группа: Участник
Сообщений: 1 436
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(XVR @ Nov 20 2017, 16:46) *
Переход по символической ссылке? Возможен конечно.
Клиент увидит строку с символической ссылкой и перейдет по нет (на клиенте). Куда она будет смотреть - это будет определять клиент. NFS сервер к этому отношения не имеет

в смысле на клиенте?
я создаю папку на сервере - mkdir("/ram0/NFS_FILES"); а линк указывает на "/ram0/some_file.txt/'' - клиент видит всю файловую систему? я так понимаю у клиента мапиться только эта папка.
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 20 2017, 12:35
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 3 042
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
я создаю папку на сервере - mkdir("/ram0/NFS_FILES"); а линк указывает на "/ram0/some_file.txt/'' - клиент видит всю файловую систему?
Клиент уыидит файл /ram0/some_file.txt (если такой на клиенте есть), или битую ссылку, если нет. Файл /ram0/some_file.txt с сервера он (клиент) НЕ увидит ни при каком раскладе.
Цитата
я так понимаю у клиента мапиться только эта папка.
Разумеется
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Nov 20 2017, 12:59
Сообщение #38


Профессионал
*****

Группа: Участник
Сообщений: 1 436
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(XVR @ Nov 20 2017, 18:35) *
Клиент уыидит файл /ram0/some_file.txt (если такой на клиенте есть), или битую ссылку, если нет. Файл /ram0/some_file.txt с сервера он (клиент) НЕ увидит ни при каком раскладе.
Разумеется

Я понял. спасибо. эти фантазеры хотят чтоб я слинковал их на файл на сервере.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th January 2018 - 11:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01274 секунд с 7
ELECTRONIX ©2004-2016