Как я уменьшаю мерцание в IE на обратной передаче?

Сервер в каждом цикле принимает нового клиента, отправляет одно сообщение, получает одно сообщение и отключает клиента. Затем он ждет другого клиента.

Вам нужен еще один цикл для обработки клиента.

Что еще один цикл может быть помещен в другой поток.

Если вы вложите этот цикл в этот цикл, вы сможете одновременно обрабатывать только одного клиента. Я изменил ваш сервер так:

def server(address, port):
    sock = socket(AF_INET, SOCK_STREAM)
    sock.bind((address, port))
    sock.listen(10)
    while True: # server loop
        clientsock, addr = sock.accept()
        ip, _ = addr
        msg = "Hello to client from %s" % ip
        # next line is here because your client need message from server to send message
        clientsock.send(bytes(msg, 'utf-8'))  
        while True: #  client loop
            data = clientsock.recv(2048)
            msg = '%s - %s' % (ip, data.decode('utf-8'))
            print(msg)
            if not data:
                break
            clientsock.send(bytes(msg, 'utf-8'))  # for multiple clients you need send msg to all
        clientsock.shutdown(SHUT_WR)
        clientsock.close()
    sock.close()

Для обработки нескольких клиентов вы не хотите блокировать цикл сервера, пока цикл клиента не закончится. Вы можете запустить клиентский цикл в другом потоке и продолжить ожидание следующего клиента clientsock, addr = sock.accept().

Точно так же вы можете отделить получение сообщений от сервера и ожидание клиентского ввода.

5
задан Dave Haynes 12 December 2008 в 15:35
поделиться

2 ответа

Я думаю, что нашел решение. Это работает в IE6, 7, и 8b2.

<meta http-equiv="Page-Exit" content="Alpha(opacity=100)" />

Это остановит мерцание.

4
ответ дан 15 December 2019 в 06:37
поделиться

Я не уверен, является ли это той же проблемой, но я всегда использовал это решение, и это работает через браузеры:

<!-- Fixes the "Flash of Unstyled Content" problem (info here: http://www.bluerobot.com/web/css/fouc.asp) -->
<script type="text/javascript"></script>    
-1
ответ дан 15 December 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: