Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Network
  • » как создать многопользовательский сокет сервер? [RSS Feed]

#1 Сен. 26, 2011 23:36:25

Townsmenel
От:
Зарегистрирован: 2011-09-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как создать многопользовательский сокет сервер?

s0rg
А что вам мешает? )
Просто я посмотрел на примеры с использованием ZeroMQ, и у меня ещё больше возникло непонятностей как с ним работать + ещё мне нужно установить модуль zmq
дает такую ошыбку:
import zmq
ImportError: No module named zmq

У меня вот есть такой код, буду очень благодарен если бы мне помогли вмонтировать туда ZeroMQ:
import asyncore
import socket

class EchoHandler(asyncore.dispatcher_with_send):

def handle_read(self):
print(self)
data = self.recv(256)
if len(data) > 0:
method = data.decode()
print(method)
self.sendall(data)
if method == 'hello':
print('if 1 work')
#self.close()
else:
print('close connect')
class SockServer(asyncore.dispatcher):

def __init__(self, host, port):
asyncore.dispatcher.__init__(self)
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
self.set_reuse_addr()
self.bind((host, port))
self.listen(3)

def handle_accept(self):
pair = self.accept()
if pair is None:
pass
else:
sock, addr = pair
print ('Подключился клиент с адреса: %s' % repr(addr))
handler = EchoHandler(sock)

server = SockServer('127.0.0.1', 9975)
asyncore.loop()



Офлайн

#2 Сен. 27, 2011 09:44:11

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

как создать многопользовательский сокет сервер?

ZeroMQ - это другой подход к сетевому программированию. Его нужно установить, на сайте можно скачать исходный код и проэкт для сборки в MSVC (у вас же win-система). Но если вы уже решили использовать asyncore, то мешать не стоит.

Офлайн

#3 Сен. 27, 2011 11:06:42

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

как создать многопользовательский сокет сервер?

ZeroMQ в репах убунты присутствует, т.е. для некоторых дистрибов исходники качать не обязательно

Офлайн

#4 Сен. 27, 2011 12:18:11

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

как создать многопользовательский сокет сервер?

o7412369815963

Townsmenel
сейчас создаю на Windows SP2
)

Офлайн

#5 Сен. 27, 2011 20:20:51

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

как создать многопользовательский сокет сервер?

Старенькая версия в этих репах.



Офлайн

#6 Сен. 27, 2011 21:31:51

Townsmenel
От:
Зарегистрирован: 2011-09-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как создать многопользовательский сокет сервер?

короче, наверное оставлю ZeroMQ на десерт, я ещё в питоне мелко плаваю…

для начала ещё хочу разобраться с asyncore (с кодом в посте №11), припустим к этому серверу подключено 5 клиентов, у меня такие вопросы:
1. Как подписать подключения, что бы знать где какой клиент(например client_1, client_2, client_3 …) ?
2. Как отправлять приватные сообщения (например второй клиент пишет четвёртому) ?


Желательно ответьте теория + пример кода :)



Офлайн

#7 Сен. 29, 2011 18:59:42

Townsmenel
От:
Зарегистрирован: 2011-09-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как создать многопользовательский сокет сервер?

Почему все замолчали?



Отредактировано (Сен. 29, 2011 19:00:18)

Офлайн

  • Начало
  • » Network
  • » как создать многопользовательский сокет сервер?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version