Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 05.06.2021
Сообщений: 23

Python socket Взаимодействие клиента и сервера в разных сетях wifi

05.06.2021, 03:20. Показов 6072. Ответов 4

Студворк — интернет-сервис помощи студентам
Есть сервер и клиент. При подключении клиента к серверу на разных устройствах которые находятся в одной сети обмен данными происходит успешно. При активации клиента в другой сети ничего не происходит. Собственно говоря это мне надо исправить. Пример сервера и клиента ниже. Литература и справки по поводу разработки веб серверов и конкретно данной темы приветствую.

Сервер:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import socket
import sys
 
# создаемTCP/IP сокет
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
# Привязываем сокет к порту
server_address = (str(socket.gethostbyname(socket.gethostname())), 10000)
print('Старт сервера на {} порт {}'.format(*server_address))
sock.bind(server_address)
 
# Слушаем входящие подключения
sock.listen(1)
 
while True:
    # ждем соединения
    print('Ожидание соединения...')
    connection, client_address = sock.accept()
    try:
        print(f'Подключено к: {client_address}\n')
        # Принимаем данные порциями и ретранслируем их
        while True:
            data = connection.recv(16)
            print(f'Получено: {data.decode()}')
            if data:
                print('Обработка данных...')
                data = data.upper()
                print('Отправка обратно клиенту.\n')
                connection.sendall(data)
            else:
                print('Нет данных от: ', client_address)
                break
 
    except:
        # Очищаем соединение
        connection.close()

Клиент:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import socket
import sys
import time
 
# Создаем TCP/IP сокет
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
# Подключаем сокет к порту, через который прослушивается сервер
server_address = ("мой айпи", 10000)
sock.connect(server_address)
print("Подключено к {} порт {}\n".format(*server_address))
 
while True:
    try:
        # Отправка данных
        mess = input("Введите данные: ")
        print(f"Отправка: {mess}")
        message = mess.encode()
        sock.sendall(message)
        print("Данные отправлены!")
        # Смторим ответ
        amount_recieved = 0
        amount_expected = len(message)
        while amount_recieved < amount_expected:
            data = sock.recv(16)
            amount_recieved += len(data)
            mess = data.decode()
            print(f"Получено: {mess}\n")
    except:
        print("Закрываю сокет...")
        sock.close()
        print("Сокет закрыт.")
        break
time.sleep(5)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.06.2021, 03:20
Ответы с готовыми решениями:

Python 3 socket на разных компьютерах по одному wifi
Здравствуйте! Пытаюсь написать простой пример python 3 socket. Сервер import socket sock = socket.socket() ...

Подключение WiFi принтера в разных сетях
Ситуация такая. Стоит Роутер N56u Asus принимает инет от провайдера, и по лану к нему подключены Пк, так же по лану подключен еще один...

2 домена 2dhcp сервера в разных сетях
Добрый день дорогие форумчани!!!!! Я пищу вам из далёкого Туркменистана 1) У нас имеется работающая сеть (windows server 2016) 2) Нужно...

4
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
 Аватар для TAVulator
4191 / 1292 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
05.06.2021, 07:50
Цитата Сообщение от jason_hunter Посмотреть сообщение
При подключении клиента к серверу на разных устройствах которые находятся в одной сети обмен данными происходит успешно. При активации клиента в другой сети ничего не происходит.
По-моему ответ дан в самом вопросе...
0
0 / 0 / 0
Регистрация: 05.06.2021
Сообщений: 23
05.06.2021, 14:19  [ТС]
Суть вопроса в том, чтобы обмен данными происходил при подключении клиента, который находится в другой сети, чего собственно говоря не происходит
0
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
05.06.2021, 14:35
Суть вопроса в том, что у тебя сервер за натом или фаерволом.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
05.06.2021, 18:37
Сети для самых маленьких: https://linkmeup.ru/blog/11.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2021, 18:37
Помогаю со студенческими работами здесь

Socket. Отсоединение клиента от сервера
Приветствую вас, форумчане. У меня тут питоновские сокеты Задача такая: нужно написать функцию для клиента, которая после получения...

Взаимодействие клиента и сервера
Осуществить взаимодействие клиента и сервера на основе протокола TCP/IP. Функционирование клиента и сервера реализовать следующим образом:...

Взаимодействие клиента и сервера
клиент-серверные приложения пишу впервые. собсно на данный момент планирую общать клиент и сервер примерно так: клиент посылает серверу...

Почему socket получает ip сервера, а не клиента
Плохо разбираюсь в конфигах ngnix, но после того как перевел сервер на SSL, сокет стал получать IP самого сервака, а не клиента: server {...

Взаимодействие клиента и сервера UDP
Хочу чтобы была взаимная передача строк между клиентом и сервером. Добился односторонней передачи. Вот сделал 2 стороннюю, но получается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru