Найти - Пользователи
Полная версия: Как организовать многосокетное приложение без потоков?
Начало » Python для новичков » Как организовать многосокетное приложение без потоков?
1 2
Carzil
Как организовать многосокетное приложение без потоков?
Carzil
Упс! Нашло озарение:
#! /usr/bin/python
import socket
stack = []
sstack = []
def nsocket():
global stack, sstack
sstack.append(socket.soket("""Всякие параметры"""))
if len(stack) != 0:
""" выполняем действие в стеке """
while True:
""" слушаем порт последнего сокета (sstack[len(ssatck) - 1]) """
""" новый клиент - обмениваемся сообщениями """
""" новое сообщение - отвечаем """
""" и т.д. """
""" если ничего нет - """
break
nsocket()
Carzil
И ещё вопрос: сколько потоков может выдержать средний компьютер?
Zubchick
тройные кавычки это не комментарии а строки, не надо их так…
Carzil
Carzil
socket.soket(“”“Всякие параметры”“”)
Простите, привычка…
AlexKiriukha
Мне кажется while True неэффективным. Рекомендую посмотреть в сторону http://docs.python.org/library/select.html А ещё может каким-то боком подойдёт twisted
Carzil
Про всё это знаю, просто к точке-серверу (такие серверы расположены на не очень сильных компьютерах) может подключиться более 100 000 клиентов. И тогда вряд ли потоки будут эффективными.
Carzil
Carzil
И ещё вопрос: сколько потоков может выдержать средний компьютер?
Андрей Светлов
прочитайте все же про select, poll, epoll и неблокирующие сокеты.
Вопрос про “сколько потоков может выдержать средний компьютер” попросту некорректен.
100 000 одновременных сетевых соединение не сделать - свободный портов не хватит.
Carzil
Я спрашиваю про потоки, а не про сетевые соединения
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB