// Проекты с Python #3 // Создание чата (Сервер / Клиент) //

Поделиться
HTML-код
  • Опубликовано: 17 дек 2017
  • В данном уроке представлена реализация чата с криптографической отправкой сообщений и технологией TCP/IP при помощи языка программирования Python 3.6.
    -------------------------------------------------------------------------
    Файл 1 (Server): yadi.sk/d/Zhb0ph_33QjiQR
    Файл 2 (Client): yadi.sk/d/Iv0i4bO23QjiR4
    -------------------------------------------------------------------------
    Чат был лишь улучшен, а не создан с нуля. Видео которое я взял за основу: • Python Advanced Tutori... . Данный чат я переделал таким образом, чтобы пользователи могли общаться одновременно без обновления чата. Также была добавлена криптографическая отправка сообщения на сервер и чтение зашифрованного сообщения клиентом. И также программу перенёс с версии Python2 на версию Python3.
  • НаукаНаука

Комментарии • 208

  • @MS-xz4yk
    @MS-xz4yk Год назад

    Впечатляет. Супер! За каждый символ пояснение идет. молодец. спс👍

  • @grushadzen8719
    @grushadzen8719 6 лет назад +43

    Огромное спасибо вообще за наличие таких уроков! Python настолько гибкий, но в рунете слишком мало достойных проектов по нему, из-за этого и хочется его забросить

    • @user-qz1ic6yb5v
      @user-qz1ic6yb5v 4 года назад

      @Davidov Oleg как найти даркнетовский форум

  • @vadimgurlenko6373
    @vadimgurlenko6373 5 лет назад

    Хороший урок и идея классная!

  • @maxmailman1155
    @maxmailman1155 6 лет назад +1

    Спасибо, огонь!

  • @vanya_hrynkiv
    @vanya_hrynkiv 5 лет назад +3

    Спосибо, будет мне материал для курсовой

  • @user-qh5qo2tr7l
    @user-qh5qo2tr7l 4 года назад

    Большое спасибо

  • @vlad_covers
    @vlad_covers 5 лет назад +4

    Спасибо, классный урок! Правда, чат я не пишу, но подчерпнул несколько идей =)

  • @elloitalderson5443
    @elloitalderson5443 5 лет назад

    чётко, в натуре чётко!

  • @SergMirny_yt
    @SergMirny_yt 4 года назад +1

    вот отдельное спасибо за ссылки на файлы... НЕ собираюсь красьть ии использовать как-то. Но Просто очень часто под уроками нет ссылок на исходники. Они часто нужны, если почерпнул, что-то полезное из видео, но мотать на нужное мместо в видео - вообще не удобно. Так, что респект. Ну и вообще за бодрость голоса - респект

  • @gtjired
    @gtjired 6 лет назад +20

    Исправлю тебя
    decode и encode переводят кодировку utf-8 в байты и наоборот, а не помогают декодировать
    п.с. с помощью send и sendto отправляются именно байты

  • @localit1005
    @localit1005 4 года назад

    Лучший!

  • @Alamanterka
    @Alamanterka 4 года назад +1

    Топ!!

  • @user-kr9lt8om5r
    @user-kr9lt8om5r 5 лет назад

    спасибо

  • @savatv2310
    @savatv2310 4 года назад

    Cпс большое

  • @mercury3444
    @mercury3444 6 лет назад +42

    SOCK_DGRAM - это UDP

  • @midaef6630
    @midaef6630 6 лет назад

    Афффигенннноо

  • @volitilov
    @volitilov 6 лет назад +43

    AF_INET - семейство сетевых сокетов, SOCK_DGRAM - тип сокетов дейтаграмного типа. Вот и получается, что ты используешь не TCP (для этого необходимо использовать SOCK_STREAM), а UDP (который использует сокеты дейтаграмного типа). Улыбнула ).

    • @user-kt8wd5os9h
      @user-kt8wd5os9h 6 лет назад +2

      Спасибо, то я уже хотел написать - "Так блэд, какой тут tcp/ip, когда тут udp".

    • @itishnikartstudio8486
      @itishnikartstudio8486 5 лет назад +2

      Спасибо что подметили,я тоже уже собирался писать за udp.

    • @pustpokazivaet8277
      @pustpokazivaet8277 4 года назад +2

      Здесь не имеется ввиду именно протокол TCP а уровень в стеке протокола TCP/Ip потому что можно сделать клиент сервер и на канальном уровне а этот на транспортном уровне TCP

  • @user-pt2bh5xj2j
    @user-pt2bh5xj2j 6 лет назад

    спс

  • @avechess
    @avechess 6 лет назад +1

    Круто! Все просто минимально и понятно! И главное - Работает! :)
    Советую в исходном проекте изменить соответствующую строку с добавлением вывода своего локального IP (host): print("[ Server Started IP: "+host+" ]").
    Тогда можно в программе client в строке 33 изменить IP на свой IP с запущенного окна server. Только тогда будет работать. И еще сервер можно выключить и снова включить - соединение клиентов восстанавливается под теми же именами.

  • @Maks-fc7kv
    @Maks-fc7kv 5 лет назад +4

    Подскажете что за дистрибутив стоит? arch?

  • @elementaryautoerotique805
    @elementaryautoerotique805 3 года назад +3

    Чел, спасибо за то, что ты делаешь; будет ли возрождение злокодинга на Python?

  • @SergMirny_yt
    @SergMirny_yt 5 лет назад

    Мне пайтон (я его только начал изучать) - своим синтаксисом чем-то напоминает Perl в те времна когда я кодил на нем - это было приятно и "лампово"))) Потом подъехал ПХП. И вот сейчас Пайтон почему-то возвращает в то состояние, когда возился с кодом на Перле...

  • @gghotdog2921
    @gghotdog2921 3 года назад +5

    Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт)
    у меня ошибка в 9 строке у сервера

  • @wladkauchikha1324
    @wladkauchikha1324 5 лет назад

    на кокаом саите ты скачал прогу для програмирования или эту панель можно наити в виндовсе?

  • @anon3696
    @anon3696 5 лет назад +14

    Зачем делать переменную quit, есть можно просто написать break?

  • @merlin7411
    @merlin7411 3 года назад

    Супер! А можно это связать все с HTML и задеплоить на
    PythonAnywhere или выложить на сервер и создать доменное имя?

  • @FNC_Stitch
    @FNC_Stitch 2 года назад +1

    При вводе никнейма на клиенте, на сервере ничего не отображается, а при попытке отправить вторую строку - клиент просто завершает работу, что может быть?

  • @user-tp6lt9lk3d
    @user-tp6lt9lk3d 5 лет назад +1

    странно. я запустил сервер и двух клиентов, с одного отправил сообщение, но на сервере это не отобразилось, и второй клиент это сообщение не увидел.
    Можете объяснить, в чем проблема, пожалуйста.

  • @dimitryrusu4022
    @dimitryrusu4022 4 года назад

    Подскажите плиз: если я запилю сайт на джанго, то я смогу сделать а/в тестирование без джаваскрипта?

  • @reg_chanels
    @reg_chanels 3 года назад

    Привет, это у тебя убунту ?) Можешь обзор своей системы сделать ?)

  • @faked1220
    @faked1220 5 лет назад +1

    Спасибо за урок! У меня появился вопрос, можно ли как-нибудь на сокетах сделать так, чтобы сервер не выключался после переподключения клиента?

    • @vffsociety
      @vffsociety 2 года назад

      Конечно можно

  • @alexandermetadonov
    @alexandermetadonov 3 года назад

    Как называется icon pack? И будет Разбор вашего оформления?

  • @jak4596
    @jak4596 6 лет назад +1

    Можно, урок с пир2пир протоколом по чату

  • @pavlo3657
    @pavlo3657 5 лет назад

    Как сделать такой терминал?(У стандартного Arch другой)

  • @Domixmokut
    @Domixmokut 5 лет назад +1

    Что делать ? Запускаю ввожу имя а сервер отключается
    [ Server IP: 192.168.100.14 ]
    [ Server Started ]
    [192.168.100.14]=[50151]=[2019-05-14-22.09.58]/
    [ Server Stopped ]

  • @ilya_vladivostok
    @ilya_vladivostok 4 года назад

    На строке data, addr = s.recvfrom(1024) программа зависает, можете помочь?

  • @Alex-jp1mn
    @Alex-jp1mn 3 года назад +1

    очень круто получилось. жаль ошибки вечные(хоть у автора их и нет), да и запустить не знаю как

    • @darksnaper
      @darksnaper 2 года назад

      В cmd проекта пропиши: python server.py

  • @Justme-xg7sl
    @Justme-xg7sl 5 лет назад

    Привет. Какой дистрибутив линукса у тебя установлен?

    • @Justme-xg7sl
      @Justme-xg7sl 5 лет назад

      sTiKyt А что за скин?

  • @user-bo3rh2sk9d
    @user-bo3rh2sk9d 4 года назад

    Rакая у вас здесь графическая оболочка?

  • @MrPelmewka
    @MrPelmewka 5 лет назад

    Функция ожидания сообщения recevind нагружает поток на соточку! Есть какое нибудь решение?
    time.sleep не помогает
    мб асинхронность?

  • @java_Developer93
    @java_Developer93 5 лет назад +6

    у меня все запускается,сервере не отображается не вход не отправку сообщение

    • @endermaster8730
      @endermaster8730 3 года назад +1

      короче в коде клиента тебе надо изменить переменную server на свой собственный ip (в cmd вбиваешь команду ipconfig и в появившемся тексте ищешь IPv4-адрес там у тебя прописан твой ip)

  • @jjk2137
    @jjk2137 5 лет назад +1

    Объясню без прогерских терминов. Чтобы заработало, нужно написать print(host) после третьей и четвертой строки. Запускаете сервер, узнаете хост, он там выйдет. Этот хост пишите в клиенте на 32 строке, вместо того, что в кавычках. Заработает, обещаю)

  • @kormeet
    @kormeet 4 года назад

    Приветствую, каким дистрибутивом пингвина пользуетесь?

  • @user-vb3jh8jm4l
    @user-vb3jh8jm4l 4 года назад

    Сколько python изучаешь?

  • @oreo.8920
    @oreo.8920 4 года назад

    Я не шарю, но это работает пк - смартфон, если они на одной cети wifi?

  • @brainexplosion
    @brainexplosion 4 года назад +20

    Кочнечно, урок классный, объяснение чуть ли не каждого символа помогло. Но как же запустить этот чудо-чат?

    • @sergeykmetyuk6521
      @sergeykmetyuk6521 3 года назад +1

      в cmd>python server.py
      и клиенты также только на разных компьютерах (можно и на одном для теста, для этого надо запускать отдельный cmd)

    • @doffyso
      @doffyso 3 года назад +1

      @@sergeykmetyuk6521 можно сократить python до py

  • @dv7045
    @dv7045 4 года назад +13

    у кого не работает, в client.py ищите server = ("192.168.0.101",9090) и оставляйте server = ("",9090)

    • @wiouv
      @wiouv 4 года назад

      СПАСИБО ОГРОМНОЕ

    • @superpadush
      @superpadush 4 года назад

      пустые кавычки не помогли, а вот изменение на свой локальный ip - да

    • @dv7045
      @dv7045 4 года назад

      @@superpadush методом "тыка"

    • @romakan7060
      @romakan7060 4 года назад

      Спасибо)

    • @user-nw1xf5hb7j
      @user-nw1xf5hb7j 3 года назад +2

      Лучше вместо айпи прописать socket.gethostbyname(socket.gethostname())
      Это сразу возьмёт твой локальный айпи.

  • @Izbamn
    @Izbamn 5 лет назад +2

    Зачет за Arch linux

  • @user-mm1ys2zc8p
    @user-mm1ys2zc8p 3 года назад +3

    При запуске клиента-->
    Traceback (most recent call last):
    File "client.py", line 47, in
    s.sendto(("["+alias + "] => join chat ").encode("utf-8"),server)
    OSError: [WinError 10051] Сделана попытка выполнить операцию на сокете при отключенной сети

    • @shiro_que
      @shiro_que Год назад

      мб очень поздно, но ты не запустил сначала сам сервер

    • @user-zo5bf4ck5l
      @user-zo5bf4ck5l Год назад

      получилось исправить ошибку?

    • @user-zo5bf4ck5l
      @user-zo5bf4ck5l Год назад +1

      я запускаю так, но всё равно не работает

    • @user-zo5bf4ck5l
      @user-zo5bf4ck5l Год назад +1

      @@shiro_que всё равно не работает

  • @abczxd784
    @abczxd784 4 года назад +6

    почему у меня в сервере не отображается?

    • @VitaliyN92
      @VitaliyN92 3 года назад

      открой client.py и замени там ip на свой

  • @hayk0jan79
    @hayk0jan79 5 лет назад +2

    когда я ввожу Name потом жму Enter ничего не происходит! поможеш?

    • @skichovskiy
      @skichovskiy 4 года назад

      Измени айпи и порт

  • @kan4317
    @kan4317 3 года назад

    Зачем переменная quit, если у есть оператор break?

  • @niyak0vo
    @niyak0vo 3 года назад

    Работает только на Linux?

  • @user-ik7ur7qs7w
    @user-ik7ur7qs7w 6 лет назад +5

    Мне выдаёт ошибку:
    Traceback (most recent call last):
    File "C:\Users\kmasi\Desktop\Коды\online meseger\client.py", line 47, in
    s.sendto(("["+alias + "] => join chat ").encode("utf-8"),server)
    OSError: [WinError 10051] Сделана попытка выполнить операцию на сокете при отключенной сети

    • @user-pk4lh7pz3t
      @user-pk4lh7pz3t 5 лет назад

      Скорее всего вы были вне сети в тот момент

    • @ferunelli3376
      @ferunelli3376 5 лет назад +2

      Читать умеешь?

    • @GrungeUA
      @GrungeUA 4 года назад

      OSError: [WinError 10051] Сделана попытка выполнить операцию на сокете при отключенной сети

  • @user-pk1cn3yr1w
    @user-pk1cn3yr1w 3 года назад

    у меня ошибка A socket operation was attempted to an unreachable network

  • @poullmartyn
    @poullmartyn 5 лет назад

    Здравствуйте, подскажите пожалуйста, у меня не работает чат, связанно ли это с тем, что у меня Windows?

    • @poullmartyn
      @poullmartyn 4 года назад

      @dan4ktop 12 у меня 3 7 1, но всё ровно не работает

  • @play1027
    @play1027 4 года назад

    Когда один из пользователей отключается и другой отправляет сообщение - сервер выключается "Server stopped"

  • @zagr3649
    @zagr3649 2 года назад

    Не могу вести переписку, не понимаю в чем проблема

  • @ferius8281
    @ferius8281 5 лет назад

    Интересует такой вопрос: могу ли я поставить что-то типа такого на выделенный сервер и подключиться к нему не находясь в одной локальной сети? Если да - то как это сделать?

    • @Dmitrij_D
      @Dmitrij_D 5 лет назад

      Конечно!
      Это типа IRC

    • @senya_senechkin
      @senya_senechkin 5 лет назад

      берешь и делаешь. оч странный вопрос какой-то. если сервер сидит за NATом, то укажи там перенаправление с внешнего адреса на внутренний(локальный(короче на тот, где у тебя запускается программа-сервер)) и играйся себе на здоровье.

  • @vladimiraleshchenko491
    @vladimiraleshchenko491 4 года назад

    Ребят, кто-о сталкивался с этой ошибкой?
    Traceback (most recent call last):
    File "C:\Users\Asus\Documents\programs in python\kill\server (1).py", line 9, in
    s.bind((host,port))
    OSError: [WinError 10048] Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт)
    На какой модуль оно жалуется?

    • @just_prog
      @just_prog 2 года назад

      у тебя на етом порте уже есть процес
      уничтожь его и перекомпиль

  • @boulevardepo6587
    @boulevardepo6587 4 года назад

    Пишу точь-в-точь как ты , пишет Invalid Syntex (in line 27 (except: ^))Что делать подскажи пожалуйста

    • @brainrobots3100
      @brainrobots3100 4 года назад

      ошибка на 27 строке, а именно не понимает что там написано т.к ты не загрузил библиотеки

  • @user-pt6fb8zi6t
    @user-pt6fb8zi6t 4 года назад

    Что означает [user@server Python]$python client.py , это библеотеки или сто?

    • @pustpokazivaet8277
      @pustpokazivaet8277 4 года назад

      это запуск скрипта client.py c помощью Python это в терминале Linux

  • @rezo4846
    @rezo4846 4 года назад +1

    а как заставить работать с 2 разными пк

    • @thesilentfox7194
      @thesilentfox7194 3 года назад +1

      Моя теория такая: (я ещё не качал её)
      1. Скачать хамачи и запустить
      2. Скопировать айпи IPV4
      3.вставить там в переменную айпи с портом (порт оставить)
      4. И скинуть файл клиент на другой пк
      5.в cmd файл клиента открыть и по логике все заработает

  • @_Zdragun_
    @_Zdragun_ 4 года назад

    Привет если слишиш можеш сделать плиз еще так штоб перед client видавало два вибора принять зашифрованое или не зашифрованое

  • @komronpulatov6785
    @komronpulatov6785 4 года назад

    а что делать если все работает но сообщение не отображает и даже не пишет что кто то присоединился ??

    • @just_prog
      @just_prog 2 года назад

      а он просто показывает один файл, а запускает другой файл
      Он назвал функцию receiving и передал туда два значения
      потом в переменной rT у него функция даже по-другому написана и ошибки не відает, а должно, знач дркгой файл компилит и втирает

  • @komronpulatov6785
    @komronpulatov6785 4 года назад +1

    А вместо server = ("192.168.0.101",9090) нужно вбивать свой айпишник? у меня на этом айпишнике ничего не работает

    • @somepeople3349
      @somepeople3349 4 года назад +4

      дак потому что в твоей локальной сети у твоего компа другой адрес типа 192.168.x.x простейший способ узнать свой локальный ip - зайти в командную строку и прописать ipconfig, в строке IPv4-адрес и будет твой(только если у тебя отображается несколько интернет адаптеров, смотри у адаптера с названием "Подключение по локальной сети" если интернет кабель к компу напрямую либо "Адаптер беспроводной локальной сети Беспроводное сетевое соединение" если у тебя вайфай)

  • @sledleo
    @sledleo 6 лет назад +3

    Этот код будет работать только в локальной сети. Как работать через NAT?

    • @CryptoFunIT
      @CryptoFunIT  6 лет назад +1

      Вот: habrahabr.ru/post/304150/

    • @slansoll1559
      @slansoll1559 5 лет назад

      @@CryptoFunIT спасибо

    • @uadanochau9137
      @uadanochau9137 5 лет назад

      Залить сервер на глобальный адрес и в клиенте изменить адрес на тот на который залил сервак

    • @sledleo
      @sledleo 2 года назад

      @@CryptoFunIT на Винде локально не срабатывает :(

  • @Enott_Game
    @Enott_Game 4 года назад +2

    всё запускается, но когда ввожу имя сервер выключается, подскажите что делать?

    • @magictop_107
      @magictop_107 4 года назад

      В конче всего напеши строку input()

    • @Enott_Game
      @Enott_Game 4 года назад

      Magic Top_10 спасибо

  • @hypocrite0724
    @hypocrite0724 5 лет назад +1

    Как я могу сделать такой чат, если у меня будет VDS?
    Я заливаю server.py на Ubuntu 16.04 через FileZila.
    Далее, я обновляю Python до версии 3.7.0.
    Вписываю ./server.py и у меня появляются ошибки.
    P.S. Делаю я всё это потому, что у меня нету открытых портов, но чтоб я мог бы общаться с друзьями с помощью данного чата.

    • @cdwrs.1851
      @cdwrs.1851 5 лет назад

      А у тебя venv стоит? Просто если venv там должны быть установлены библиотеки которые нужны для работы программы.

    • @hypocrite0724
      @hypocrite0724 5 лет назад

      RUclips Administration я уже решил эту проблему, но появилась другая... Там типо проблема с кодировкой.
      Я запускаю сервер, потом клиент, логинюсь к чату, в консоли это отображается, но как что-то пишу в чат с клиента, то сервер закрывается. Насколько я понял, то проблема в кодировке.

    • @senya_senechkin
      @senya_senechkin 5 лет назад

      зачем такая морока с vds? лично я на компе и не открывал порт. выбрал для сервера порт 9191 и в NAT роутера поставил перенаправление со внешнего адреса на внутренний(на котором запускается сервак) по данному порту и норм пашет. любые онлайн проверки показывают, что порт 9191 у меня закрыт

  • @kishiva4965
    @kishiva4965 5 лет назад +1

    Круто, жаль только, что не работает

  • @igor4105
    @igor4105 6 лет назад

    Привет. Как с тобой связаться ?. Есть предложение!

  • @noname1384
    @noname1384 6 лет назад

    Shikarnye uroki!
    Obiasniaesh vsyo prosto kak bog!

  • @komronpulatov6785
    @komronpulatov6785 4 года назад +5

    ничего не работает что делать ? сервер запущен но сообщения не приходят

  • @KlimentFis
    @KlimentFis 4 года назад +10

    9:54 - Видимо этот же код используется в Zoom;
    кто понял прикол ставь 👍👍👍

  • @dellace8777
    @dellace8777 5 лет назад

    Что за терминал?

  • @user-eg7vt9zy1x
    @user-eg7vt9zy1x 4 года назад +20

    По коду, как я понял, уже высказались до меня, так что дам один совет. Прежде чем учить, будьте добры погрузиться в преподаваемый материал с головой, а то получаются такие объяснения: "Здесь пишем во так, потому что иначе у вас будет много ошибок". Возможно, вы и представляете, о чем говорите, но если так, расскажите об этом подробнее. Честно говоря, появилось ощущение, что материал кусками был схвачен на разных статьях, форумах, и т. д. и полноты картины в голове не сложилось. Без обид, просто на будущее. Удачи.

  • @ElectroPlayer3
    @ElectroPlayer3 5 лет назад +1

    Что делать если не работает. Открываю сервер, потом открываю клиет, но НЕ РАБОТАЕТ. Сервер не видит, что кто-то присоединился и не видит сообщения. Клиенты тоже нифига не видят. ЧТО ДЕЛАТЬ?

    • @ElectroPlayer3
      @ElectroPlayer3 5 лет назад

      @sTiKyt да закрыты. А они должны быть открытыми?

    • @ElectroPlayer3
      @ElectroPlayer3 5 лет назад

      @sTiKyt Так я пытался вообще это на своём ноутбуке сделать. Что бы оно заработало в локальной сети или на моём ноутбуке, всё равно нужны открытые порты?

    • @ElectroPlayer3
      @ElectroPlayer3 5 лет назад

      @sTiKyt -. Я запускал сервера майна. Они не работали в сети, но на моём компе они работали

  • @0rkhan.d
    @0rkhan.d 5 лет назад +5

    Почему-то у меня не работает

    • @web_hack6573
      @web_hack6573 3 года назад

      не работает скорее всего потому что ты не скачал тайм и сокет

    • @DimPyProg
      @DimPyProg 3 года назад

      @@web_hack6573 их не нужно скачивать, они встроенные

  • @seaniwe
    @seaniwe 4 года назад +1

    Не работает

  • @mercury3444
    @mercury3444 6 лет назад +10

    Спасибо, самый нормальный урок по созданию чата.
    Я не понял: зачем rt.join() в конце

  • @masterbpr0
    @masterbpr0 4 года назад

    Какой это дистрибутив линукса?

  • @victorzedwings
    @victorzedwings 5 лет назад +1

    host = socket.gethostbyname(socket.gethostname())
    возвращает 127.0.1.1 (linuxmint19)

    • @Dmitrij_D
      @Dmitrij_D 5 лет назад

      Смысла вообще в этом нету. Пустые кавычки оставь)
      Тогда не только локально, но и внешние сообщения на порт можешь принимать

  • @dertewm3820
    @dertewm3820 4 года назад

    Ошибка вылазит: socket.gaiereor: [Errno 11004] getaddrinfo failed

    • @dertewm3820
      @dertewm3820 4 года назад

      Решил. Частично. Не нашёл другого способа, поэтому теперь прога запрашивает айпи при входе

  • @daniil-shamraev
    @daniil-shamraev 6 лет назад +1

    А когда злокодинг?

    • @CryptoFunIT
      @CryptoFunIT  6 лет назад

      Точно сказать не смогу. В данный момент занят криптографией и реализацией шифров Решётки, ADFGVX, Хилла и Энигмы. Но и идеи по злокодингу имеются, так что остаётся их лишь только реализовать.

    • @daniil-shamraev
      @daniil-shamraev 6 лет назад

      Crypt&Fun [ IT ] Кстати энигма классная идея, про 2 мировую

  • @matveygritsaev9599
    @matveygritsaev9599 5 лет назад

    Вопрос, скопировал данные файлы, запускаю, запускается, но чат не работает, не пишет на сервере что кто-то зашел, сообщения не видны, что не так?

    • @vladtemriuk4621
      @vladtemriuk4621 5 лет назад

      Измени ip, по которому подключается клиент, на 127.0.0.1 и все заработает

    • @senya_senechkin
      @senya_senechkin 5 лет назад

      @@vladtemriuk4621 у меня на локалхосте не заработало.
      дописал строчку в сервере, чтоб он вывел айпишник, на котором запустился и прописал в клиенте этот айпи. может кому такой способ поможет

    • @Domixmokut
      @Domixmokut 5 лет назад

      @@senya_senechkin как?

    • @senya_senechkin
      @senya_senechkin 5 лет назад

      @@Domixmokut просто допиши на сервере print(host) после присваивания адреса переменной host

    • @senya_senechkin
      @senya_senechkin 5 лет назад +1

      @@Domixmokut а вообще лучше бы тебе разобраться, как работают сокеты и udp протокол и написать сервер и клиент под себя. я так сделал и мой сервак гораздо функциональнее этого + есть авторизация, логирование и другие нужные штуки. самописный чат очень крутая штука, если не нравится, когда большой брат следит за тобой. прикрутить шифрование минутное дело, зато точно будешь знать, что никто за тобой не следит, а если и следит, то в жизни ничего не расшифрует, не имея доступа к исходникам.

  • @user-jw9fc4yy2i
    @user-jw9fc4yy2i 5 лет назад

    как сделать чат с лс

    • @neonchik6768
      @neonchik6768 5 лет назад

      ну к примеру через команду по типу /msay 'получатель' 'отправитель' , на сервере проверять есть ли /msay в сообщении и если да , то только этому нику, надо еще словарь с адресами к никам сделать

  • @balltv9277
    @balltv9277 6 лет назад +3

    socket.gaierror: [Errno 11004] getaddrinfo failed

  • @SmartBerryFarm
    @SmartBerryFarm 4 года назад +2

    Спасибо. Только учусь Python но все четко и понятно. К стати по сабжу работы с сетью наткнулся на вот такой проект. Советую - мне зашло ruclips.net/video/qmWbsLKKduc/видео.html

  • @david44707
    @david44707 5 лет назад

    u menya ne poluchaetsa
    --------------------------------------
    [user@localhost project_chat]$ python client.py
    Name: user
    Traceback (most recent call last):
    File "client.py", line 46, in
    alias = input("Name: ")
    File "", line 1, in
    NameError: name 'user' is not defined

    • @voicetv9048
      @voicetv9048 5 лет назад

      Не установлена библиотека, установите все библиотеки и попробуйте заново

  • @alcor9921
    @alcor9921 3 года назад

    У меня ничего не работает

  • @user-yj7ku8ev3l
    @user-yj7ku8ev3l 5 лет назад +2

    File "client.py", line 47, in
    s.sendto(("["+alias + "] => join chat ").encode("utf-8"),server)
    OSError: [Errno 22] Invalid argument

  • @kosten7724
    @kosten7724 4 года назад +1

    Traceback (most recent call last):
    File "/home/kosten/PycharmProjects/chat/server.py", line 10, in
    s.bind((host, port))
    OSError: [Errno 98] Address already in use

    • @user-tf6gf5tp1b
      @user-tf6gf5tp1b 4 года назад +1

      Прослушиваемый порт видимо уже заняла какая-то программа. Другой порт попробуй.

  • @kosten7724
    @kosten7724 4 года назад +1

    кто может помочь, напишите мне. Пожалуйста

  • @alexandrchikur5993
    @alexandrchikur5993 4 года назад +1

    Слушай,хоть это будет и звучать как хейт,но я всего лишь хочу качественные видосы,а не плагиат зарубежного автора. Что мы видим? Полная безграмотность в работе с библиотекой socket,непонимание ее основ,неумение объяснять суть видео,тобишь суть того как работает библиотека,почему dgram,а не sockstream например,примеры не приводятся,обучения ноль... зато мы умеем читать код вслух и объяснять основы синтаксиса в этом видео... в итоге,переписал код у другого автора,3 минуты ознакомился в доках с socket lib,прочитал код,спасибо,то,что надо было

  • @user-nr1qp9si4s
    @user-nr1qp9si4s 5 лет назад +2

    2:50 может ghostemane?

  • @Dalwofbskworus
    @Dalwofbskworus 6 лет назад

    Мне кажется, сюда можно прописать многопоточность, код будет гораздо быстрее и функциональнее работать

    • @anon3696
      @anon3696 5 лет назад

      K Kol он как бы уже есть

    • @senya_senechkin
      @senya_senechkin 5 лет назад

      зачем такому серваку многопоточность? как спойлер на девятке будет смотреться

  • @m0rlandhey542
    @m0rlandhey542 4 года назад

    Помогите ПЛиз

  • @NikolayNechaev
    @NikolayNechaev 6 лет назад +4

    Лол? Нахрена мы в сервере все делали по-умному, чтобы если сервер будет перемещен и у него изменится IP, то он продолжал работать, если мы в клиенте все равно объявляем его константно? Чет блювота

    • @alexanderommm
      @alexanderommm 5 лет назад

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

    • @vlad_covers
      @vlad_covers 5 лет назад +1

      Аргумент несостоятельный. А в вашем-то коде точно нет "блювоты"? А то докопаться до мелочи и "засрать" - много ума не надо.

    • @vlad_covers
      @vlad_covers 5 лет назад +1

      @sTiKyt Само собой, но с этим слушатель разберется самостоятельно, видео в целом не об этом. Так что - да, считаю это придиркой к мелочи.

    • @vlad_covers
      @vlad_covers 5 лет назад +1

      sTiKyt вы правы, но получается, что автор видео должен и про атомы рассказывать? Я не согласен. Упущение детали в данном случае от сути не отдаляет. И уж точно не даёт повод писать «блювота».

    • @HIGHLVLPROSTITUTE
      @HIGHLVLPROSTITUTE 5 лет назад

      Как еще клиенту определить ип сервера? если клиент будет на другом компе

  • @igor6987
    @igor6987 6 лет назад

    Что за дистрибутив?

    • @niyak0vo
      @niyak0vo 3 года назад

      Arch Linux

    • @igor6987
      @igor6987 3 года назад

      это antergos, если кому интересно

  • @sd-rw8fj
    @sd-rw8fj 4 года назад

    Много воды...