Разное

Розетка сломанная: сломанная розетка — чинить или забыть? открыла холодильник, а он не работает, то…

Стинг. Сломанная музыка. Автобиография «Читай-город»

Купить офлайн

Цена на сайте может отличаться от цены в магазинах сети. Внешний вид книги может отличаться от изображения на
сайте.

Цена на сайте может отличаться от цены в магазинах сети. Внешний вид книги может отличаться от изображения на
сайте.

Бестселлер The New York Times.

Искренняя, интеллектуальная и утонченная автобиография автора всемирно известных хитов Shape Of My Heart, Desert Rose и Englishman In New York.
Стинг — музыкант, мультиинструменталист, певец, общественный деятель. Семнадцатикратный обладатель премии «Грэмми», а также лауреат «Золотого глобуса» и «Эмми». Четыре раза номинировался на «Оскар» в категории «Лучшая песня».
Его мемуары рассказывают о детстве в захолустном городке, где он впервые влюбился в музыку, о том, как была создана группа The Police и как она распалась, о первых песнях, о дорогих ему людях и событиях, повлиявших на все творчество Стинга, и, конечно, о признании и предназначении. Он отправляет читателя в затягивающее путешествие по Ньюкаслу 50-х, 60-х и 70-х годов, рассказывая закулисную жизнь британского шоу-бизнеса. Проникновенная история от первого лица, позволяющая увидеть, почему песни Стинга столь мистичны и поучительны, и понять, кто же такой Гордон Самнер на самом деле.

«Каждую страницу книги украшает мастерское владение словом и глубокое уважение к языку, мало чем уступающим музыкальному гению Стинга. Даже описание юношеской жизни начинающего рок-н-рольщика напоминает классическую литературу, лишенную вульгарностей, присущих поп-музыке». — Rolling Stone

«“Сломанная музыка” оставляет ощущение личного катарсиса, что редко встречается в изданиях этого жанра… Вдумчивая и удивительная». — London Spectator

Описание

Характеристики

Бестселлер The New York Times.

Искренняя, интеллектуальная и утонченная автобиография автора всемирно известных хитов Shape Of My Heart, Desert Rose и Englishman In New York.
Стинг — музыкант, мультиинструменталист, певец, общественный деятель. Семнадцатикратный обладатель премии «Грэмми», а также лауреат «Золотого глобуса» и «Эмми». Четыре раза номинировался на «Оскар» в категории «Лучшая песня».
Его мемуары рассказывают о детстве в захолустном городке, где он впервые влюбился в музыку, о том, как была создана группа The Police и как она распалась, о первых песнях, о дорогих ему людях и событиях, повлиявших на все творчество Стинга, и, конечно, о признании и предназначении. Он отправляет читателя в затягивающее путешествие по Ньюкаслу 50-х, 60-х и 70-х годов, рассказывая закулисную жизнь британского шоу-бизнеса. Проникновенная история от первого лица, позволяющая увидеть, почему песни Стинга столь мистичны и поучительны, и понять, кто же такой Гордон Самнер на самом деле.

«Каждую страницу книги украшает мастерское владение словом и глубокое уважение к языку, мало чем уступающим музыкальному гению Стинга. Даже описание юношеской жизни начинающего рок-н-рольщика напоминает классическую литературу, лишенную вульгарностей, присущих поп-музыке». — Rolling Stone

«“Сломанная музыка” оставляет ощущение личного катарсиса, что редко встречается в изданиях этого жанра… Вдумчивая и удивительная». — London Spectator

Эксмо

Как получить бонусы за отзыв о товаре

1

Сделайте заказ в интернет-магазине

2

Напишите развёрнутый отзыв от 300 символов только на то, что вы купили

3

Дождитесь, пока отзыв опубликуют.

Если он окажется среди первых десяти, вы получите 30 бонусов на Карту Любимого Покупателя. Можно писать
неограниченное количество отзывов к разным покупкам – мы начислим бонусы за каждый, опубликованный в
первой десятке.

Правила начисления бонусов

Если он окажется среди первых десяти, вы получите 30 бонусов на Карту Любимого Покупателя. Можно писать
неограниченное количество отзывов к разным покупкам – мы начислим бонусы за каждый, опубликованный в
первой десятке.

Правила начисления бонусов

Исполнитель подобных песен о музыке говорит только с любовью

книга — просто подарок для каждого фаната

Плюсы

шикарный слог;
необычное повествование.

Минусы

Стинг

Плюсы

Качественное издание, твердый переплет.

Минусы

Нет.

Первые отзывы об НФ-сборнике «Сломанные звезды»


Этим летом на русском языке вышел сборник рассказов «Сломанные звезды», составителем которого стал писатель Кен Лю. Он же переводил на английский язык книги Лю Цысиня — то есть в значительной степени открыл для Запада китайскую фантастику.


Приводим вам первые отзывы русскоязычных рецензентов о книге.

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


kvadratic

Сейчас в Китае идет время становления своей традиции научно-фантастической литературы. Её невозможно скопировать так же, как чертежи нового холодильника, а можно только взрастить, создать, воспитать.


И тут видится тонкая разница между исторической и прогностической традициями. Своя традиция фэнтези — у Китая есть априори. Громадная история с сотнями придуманных чиновниками и бродягами мифов и предрассудков. Все это погружено в мистику всевозможных оттенков и консистенций — от даосских подмигиваний до буддистских рассуждений. Создать на это почве что-то своё — сравнительно просто. Что вполне наблюдается последние десятилетия в китайском кинематографе. Но как придумать будущее?


В «Сломанных звездах» — авторы пытаются нащупать свою новизну. Они еще, имхо, не лучшим образом умеют отличать её от китайской специфики, потому над ними постоянно висит искушение сделать европейский рассказ с китайскими именами. Но кроме обобщенного «западного» будущего, они начинают думать о своём.


И это разнообразие — вдохновляет.


beskarss78

Некоторые произведения мне напомнили по стилю рассказы Рэя Бредбери, некоторые — Артура Кларка или Айзека Азимова. Это не про космические полеты с приключениями и даже не про далекое будущее, это, в общем, про современную жизнь, в которой привычные нам вещи и процессы вдруг идут по-другому. Некоторые рассказы даже можно и не называть фантастикой, она там играет второстепенную и незначительную роль. Пара рассказов, правда, довольно слабые, но учитывайте, что их авторы только начинают себя пробовать в этом жанре и скорее всего мы скоро увидим много новых и лучших произведений от них.

На мой взгляд, центральное произведение в этой книге — это «Что пройдет, то будет мило» Баошу. Оно выделяется и более сильным сюжетом и оно к тому же тут самое длинное. Однако рассказы позволяют познакомиться нам с новыми авторами в жанре НФ и это очень здорово.


Степанов Сергей

Своеобразный стиль изложения, как, собственно, и язык. Научная фантастика в чистом виде. Читается легко, несмотря на то что в тексте поднимаются серьезные вопросы, которые вольно невольно заставляют задуматься. Очень хорошо и подробно описан Китай, его история и культура. Читаешь и самому хочется оказаться в придуманном мире автора.


Александр Гаврилов


Читайте также:


  • Как Лю Цысинь завоевал популярность на Западе


  • Экранизация «Задачи трех тел»: кто снимается в сериале?

python — BrokenPipeError на сокете

Я создал мессенджер с помощью Python Socket, при использовании двух клиентов, например, когда один пользователь выходит из чата, второй пользователь может отправить еще 1-2 сообщения и после этого сервер перестает принимать сообщения от других пользователей, то есть есть известная ошибка Broken pipe 32. Я понимаю терминологию ошибки, возможно ошибка кроется на моем сервере в цикле While True (цикл, который включает в себя все действия, которые пользователи выполняют среди сами), ведь есть сказочный код в виде:

 если не данные:
    print(f'Пользователь {name1} уходит')
    перерыв
 

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

Надеемся на взаимопонимание, любая помощь будет принята и оценена. Код сервера и клиента ниже:

 server:
импортный сокет
импорт потоков
время импорта
ХОСТ = '127.0.0.1'
ПОРТ = 8888
сервер = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((ХОСТ, ПОРТ))
server.listen(15)
print(f'Сервер {HOST}:{PORT} start.')
пользователи = []
сортировка = []
def crypto(текст, ключ):
    зашифровать = ''
    для я в тексте:
        зашифровать += chr(ord(i) + ключ)
    вернуть шифрование
def listen_decode (пользователь, адрес):
    print(f'IP-адрес пользователя {addr[0]} логин. .')
    sort.append(пользователь)
    user.send('Кодировать'.encode('utf-8'))
    user.send('Имя'.encode('utf-8'))
    name1 = user.recv(1024).decode('utf-8')
    пользователи .append (имя1)
    
    пока верно:
        данные = user.recv(1024).decode('utf-8')
        b1 = время.ctime()
        атрибут = ' | '
        data_crypto = крипто(данные, 4)
        print(f'{name1} отправил сообщение: {data_crypto} ' + атрибут + '' + b1 + ' ')
        для я в сортировке:
            if(i != сервер и я != пользователь):
                i.sendall(f'{name1} > {data}'.encode('utf-8'))
    
        если не данные:
            print(f'Пользователь {name1} уходит')
            перерыв
защита start_server():
    
    пока верно:
       user_socket, адрес = server.accept()
       potok_info = threading.Thread(target=listen_decode, args=(user_socket, addr))
       potok_info.start()
если __name__ == '__main__':
    start_server()
 

клиент:

 из окна сообщений импорта tkinter
из импорта tkinter *
импортировать _tkinter
импортный сокет
импорт потоков
импорт ОС
окно = Тк()
window. title('Войти')
window.geometry('320x200')
window.resizable(Истина, Истина)
ХОСТ = '127.0.0.1'
ПОРТ = 8888
клиент = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((ХОСТ, ПОРТ))
имя = StringVar()
пароль = StringVar()
def encrypt(текст, ключ):
    зашифровать1 = ''
    для я в тексте:
        encrypt1 += chr(ord(i) - ключ)
    вернуть шифрование1
защита send_message():
    пока верно:
        данные = клиент.recv(1024)
        print('\r\r' + data.decode('utf-8') + '\n' + f'you: ', end='')
деф чат():
    string_name = имя.получить()
    if('Имя' в client.recv(1024).decode('utf-8')):
        имя1 = имя_строки
        client.send(name1.encode('utf-8'))
        potok = threading.Thread(target=send_message)
        поток.старт()
        пока верно:
            msg = input('вы:')
            client.send(msg.encode('utf-8'))
деф крипт():
    
    string_name = имя.получить()
    string_password = пароль.получить()
    пытаться:
        user_encryption_selection = (encryption_listbox. get(encryption_listbox.curselection())))
    кроме _tkinter.TclError:
        messagebox.showerror('Ошибка', 'Введите тип сообщения')
    если string_name == 'Джон':
        если string_password == '5555':
            если user_encryption_selection == 'Использовать шифрование':
                window.after(1000, лямбда: window.destroy())
                меню = Тк()
                menu.title('Меню чата')
                menu.geometry('500x350')
                menu.resizable(Ложь, Ложь)
                menu_button = Кнопка (меню, текст = 'Глобальный чат', команда = чат, высота = 1, ширина = 18)
                menu_button.grid(padx=150)
                меню.mainloop()
        еще:
            messagebox.showerror('Ошибка', 'Ошибка пароля')
    еще:
        messagebox.showerror('Ошибка', 'Имя ошибки')
    
запись = запись (окно, текстовая переменная = имя, ширина = 10)
entry.grid (столбец = 1, pady = 7, padx = 4)
label = Label(window, text='Введите имя:')
label.grid (строка = 0, padx = 1)
entry1 = Вход(окно, текстовая переменная=пароль, ширина=10)
entry1. grid (столбец = 1, pady = 7, padx = 2)
label1 = Метка (окно, текст = 'Введите пароль:')
label1.grid(строка=1, padx=1)
listbox = Listbox (окно, selectmode = SINGLE, ширина = 12, высота = 2)
listbox.grid (столбец = 1, строка = 2, pady = 7, padx = 2)
Encryption_options = ['Использовать зашифрованное']
шифрование_listbox = Список (окно, selectmode = SINGLE, ширина = 10, высота = 1)
шифрование_listbox.grid (столбец = 1, строка = 2, pady = 7, padx = 2)
для i в параметрах шифрования:
    шифрование_listbox.insert(END, я)
label_crypto = Label(window, text='Введите сообщение: ', bg='черный', fg='красный')
label_crypto.grid (строка = 2)
кнопка = Кнопка (окно, текст = 'Ввод', команда = крипта)
button.grid (pady = 30)
окно.mainloop()
 

держите сокет, прослушивающий python, избегайте ошибки сломанной трубы

Задавать вопрос

спросил

Изменено
5 лет, 1 месяц назад

Просмотрено
1к раз

Пытался найти решение, но не нашел ни в одном посте.
Я пытаюсь создать систему обмена файлами между двумя сокетами, но когда мой клиент подключается к серверу, при первой отправке сервером я получаю ошибку сломанного канала.
Есть ли что-то, что я должен сделать, чтобы сокет прослушивал или каким-либо другим способом я могу сделать эту передачу?
Я также использую центральный сервер, который делает этих двух своих клиентов парой сервер-клиент на том же IP-адресе, что и один из сокетов. может ли это вызвать эту проблему (я перевел его в спящий режим после создания временной пары)
вот код сервера:

 def create_server(self,ip,path): #ip принадлежит серверу
    список_соединений = []
    печать (ip)
    носок = сокет.сокет (сокет.AF_INET, сокет.SOCK_STREAM)
    sock.bind((ip, 12345))
    print("сервер создан")
    connection_list.append (носок)
    носок.слушай(1)
    # смещение = 0
    файл = открыть (путь, "rb")
    распечатать("файл открыт")
    пока верно:
        print("ожидание соединения...")
        соединение, адрес = sock.accept()
        print('Новое соединение с %s:%d' % (addr[0], addr[1]))
        print("принято соединение")
        connection_list. append(подключение)
        sock.send(str("Start").encode()) # ЭТО ВЫЗЫВАЕТ ОШИБКУ BROKEN PIPE
        чанк = файл.чтение(4096)
        print("Читать фрагмент")
        если не кусок:
            перерыв # EOF
        sock.send(чанк)
        print("фрагмент отправлен")
    sock.send(str("ЗАВЕРШЕНО").encode())
    print("Перевод завершен")
    носок.закрыть()
 

это код клиента:

 def create_client(self,ip,file): #ip сервера
    печать (ip)
    print("идет скачивание",str(файл))
    пытаться:
        клиент = socket.create_connection ((IP, 12345))
    кроме:
        клиент = socket.create_connection ((IP, 12346))
    print("Клиент создан")
    с open(str(файл), 'wb') как f:
      socket_list = [клиент]
      распечатать("файл открыт")
      данные = клиент.recv (4096)
      в то время как data.decode()! = "Начать":
                        данные = клиент.recv (4096)
      пока верно:
           распечатать("начало")
           данные = клиент.recv (4096)
           распечатать("полученные данные")
           если data. decode()=="ЗАВЕРШЕНО":
                   перерыв
      f.запись (данные)
      print("Перевод завершен")
    е.закрыть()
    время сна(5)
    клиент.закрыть()
 
  • python
  • python-3.x
  • сокеты
  • сеть
  • сетевое программирование

Проблема в том, что в вашей серверной программе вы пытаетесь отправить данные не в тот сокет.

sock — это сокет сервера (или главного, если хотите). Это используется только для прослушивания входящих соединений.

[Python]: сокет. принять () в документации указано:

Принять соединение. Сокет должен быть привязан к адресу и прослушивать соединения. Возвращаемое значение представляет собой пару (подключение, адрес) , где conn — это новый объект сокета , который можно использовать для отправки и получения данных по соединению , а адрес — это адрес, привязанный к сокету на другом конце соединения.

  • Измените свою линию (и все другие строки, которые имеют sock.send ) с:

     sock.send(str("Старт").encode())
     

    до:

     conn.send("Старт".encode())
     
  • Строки:

     conn.send("ЗАВЕРШЕНО".encode())
    print("Перевод завершен")
     

    следует переместить внутрь цикла while (с отступом), и, возможно, вы могли бы добавить conn.close() в конце цикла.

В вашей клиентской программе:

  • Предложение try / , кроме , бесполезно, поскольку сервер не прослушивает порт 12346
  • .

  • Если файл содержит строку «ENDED» , вы не получите полное содержимое. Я бы предложил сделать ваш конечный тег более сложным (чтобы у него было как можно меньше шансов присутствовать в файле) или лучше:
    • Сначала отправьте размер файла, а затем на клиенте, ожидайте именно это количество байтов (может потребоваться проверить [SO]: множественная отправка с сервера на клиентский python (@ответ CristiFati))

2

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Обязательно, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *