Добавил:
Vanomaj
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab_4 / Shared_memory_server
.py#!/usr/bin/env python3
import os
import mmap
def server():
shared_memory_size = 1024
# Открываем файл разделяемой памяти
shared_memory_fd = os.open("Shared Memory", os.O_CREAT | os.O_RDWR)
# Устанавливаем размер файла разделяемой памяти
os.ftruncate(shared_memory_fd, shared_memory_size)
# Разделяем память
shared_memory = mmap.mmap(shared_memory_fd, shared_memory_size)
previous_message = b'' # Переменная для хранения предыдущего сообщения
while True:
# Читаем из разделяемой памяти
shared_memory.seek(0) # Переходим к началу разделяемой памяти
message = shared_memory.read(shared_memory_size).rstrip(b'\0')
# Проверяем, изменилось ли сообщение
if message != previous_message:
print(f"Получено сообщение от клиента: {message.decode('utf-8')}")
previous_message = message # Обновляем значение предыдущего сообщения
if message.lower() == b'exit':
break
# Закрываем разделяемую память и файловый дескриптор
shared_memory.close()
os.close(shared_memory_fd)
if __name__ == "__main__":
server()
Соседние файлы в папке lab_4