Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 24, 2008 16:23:56

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Сервер-клиент посредник

Lam
трейс и так полный
Не вижу в нем стека вызова и на какие строчки он ссылается.



Офлайн

#2 Дек. 24, 2008 17:05:36

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Сервер-клиент посредник

в общем - у меня на локальной машине - такой вариант работает полностью:

import select
import socket
host1 = '127.0.0.1'
host2 = 'login.icq.com'
port1 = 8766
k = 1
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s1.bind((host1, port1))
s2.connect((host2, port1))
s1.listen(5)
conn, addr = s1.accept()
print s1
print conn

#64.12.161.153 5190
print 'klient connect'

list = [s2, conn]
while True:
s3, s4, s5 = select.select(list, [], [])
for i in s3:
if i == conn:
data = conn.recv(1024)
s2.send(data)
print '1 ', len(data)
elif i == s2:
data = s2.recv(1024)
conn.send(data)
print '2 ', len(data)
Правда скоро отваливается почему-то.
Лень разбираться - почему =)



Отредактировано (Дек. 24, 2008 17:21:02)

Офлайн

#3 Дек. 24, 2008 23:31:00

Lam
От:
Зарегистрирован: 2008-12-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Сервер-клиент посредник

http://rastaman.tales.ru/?page=3&menu1=7&smenu1=1&menu2=21&inctext=0 демоны мать их ну ниче ща их того и снова прогу писать кста с наступающим вас всех, вы ведь тут не только програмите)



Офлайн

#4 Дек. 25, 2008 00:23:53

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Сервер-клиент посредник

Да забаньте вы наконец этого придурка.

Офлайн

#5 Дек. 25, 2008 01:32:37

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Сервер-клиент посредник

Lam, тебе уже несколько раз намекнули на то, что здесь люди более менее грамотные и, соответственно, не любят коверконье языка. Пойми, твой слог действительно тяжело читается… И, спрашивается, почему мы должны тратить своё мозговое время на то, чтобы разбирать то что ты написал?

Так что либо оставь такой слог для удаффа с башоргом, либо, прости за грубость, катись от сюда к чёртовой бабушке!

P.S. Ferroman, ещё +1. Я как раз думал, что бы такого написать… :-)
P.P.S. Сходил я по этой ссылке… Lam, не в тему здесь это, ибо здесь работают. Юмор мы все любим, но в тему и в специально отведённых для этого местах, потому что отвлекает.



Отредактировано (Дек. 25, 2008 01:36:07)

Офлайн

#6 Дек. 25, 2008 10:48:58

Lam
От:
Зарегистрирован: 2008-12-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Сервер-клиент посредник

shiza спасибо, но у меня почему то и этот вариант не хочет работать, печатает цифру 1, и чего то ждет…
ZZZ, ferroman расслабтесь, отвлекаю от работы, правильно решение даже такой нелепой задачи как написание такой программы какая нужна мне, требует хоть какого то внимания а значит отвлечение от работы, а раз вы всё равно отвлеклись дак не всё ли равно куда вы отвлеклись, а что не понятно, ну некоторые всё же понимают, а если чего то совсем не понятно заходим в гугль ищем а потом спрашиваем если не нашли, мне же тоже много чего непонятно но я почему то должен прочитать pep8, “это” и делать как сказано там, а именно постораться самостоятельно найти ответ не нашел спрашивать, короче задача на сколько я знаю довольно простая, то что вы её можете решить это для меня уже сомнение, зато вы очень трепетно к правилам относитесь, такое впечатление что них не знаете просто собрались и правила дружно не нарушаем… Хотя да эт наверно просто я чего опять через голова делаю, лан спасибо досвидание, большое спасибо, очень помогли…



Офлайн

#7 Дек. 25, 2008 11:29:17

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Сервер-клиент посредник

%)



Офлайн

#8 Дек. 25, 2008 21:53:50

Lam
От:
Зарегистрирован: 2008-12-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Сервер-клиент посредник

Мож тему перенести в раздел мобильный питон?



Отредактировано (Дек. 25, 2008 21:54:23)

Офлайн

#9 Дек. 25, 2008 22:45:44

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Сервер-клиент посредник

Shiza, я пробежался по твоему коду… А с какого перепоя ты решил, что размер пакета всегда кратен 1024-ём байтам (.recv(1024))? Ведь если это не так, то он будет до позеленения ждать, пока не наберётся необходимое число данных.

Лам, не хорошо огрызаться, когда приходишь в новое общество и тебе указывают на то, как в нём принято себя вести.

Lam
Мож тему перенести в раздел мобильный питон?
Возможно. Но в данном случае проблема укладывается в общие рамки с поправками вроде отсутствия socket.socket.settimout.



Офлайн

#10 Дек. 25, 2008 23:19:46

Lam
От:
Зарегистрирован: 2008-12-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Сервер-клиент посредник

Да согласен не хорошо я прост человек такой не хороший) да я такой и че идем на уступки я читаю стараюсь выполнять ваши правила, да не се сразу москва не рим не сразу появилась)… Насчет кода, ну лан у него не кратен 1024 я вобще сделал код следущим:

import socket, select
host1 = '127.0.0.1'
host2 = 'login.icq.com'
port1 = 8766
k, b = 1, 1
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s1.bind((host1, port1))
s2.connect((host2, port1))
s1.listen(5)
conn, addr = s1.accept()
print 'klient connect'

def move(i, o):
try:
tmp = ''
while True:
tmp +=i.recv(b)
except socket.error:
o.send(tmp)

while k<20:
list1 = [conn, s2]
s3, s4, s5 = select.select(list1, [], [])
print 'select'
for i1 in s3:
print 'start'
if i1 == conn:
move(conn, s2)
print k
elif i1 == s2:
move(s2, conn)
print k, k
k +=1
ща кста гляну че получилось пока вроде отпустило, а то когда я пробовал мог и напутать)…
P.S. к оформлению кода просьба не придираться, просто на теле оно так луче выглядит легче понимать…



Отредактировано (Дек. 25, 2008 23:22:41)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version