Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 20, 2008 15:46:47

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

Вопросы новичка.

Спасибо, shiza. Доберусь до компа, попробую.



Офлайн

#2 Дек. 20, 2008 16:21:48

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

Вопросы новичка.

Честно сказать, я них не понял, recv(1024) это принимаем пакет размером не больше 1024 байта, и получаем строковую переменную(вроде так, по учебнику точно так), но нужно отправить это в том виде в каком оно пришло, а не в строковом виде, и отправить не обратно а дальше, эт мне кроме сокета подключать ещё модули?



Офлайн

#3 Дек. 20, 2008 17:21:40

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

Вопросы новичка.

Lam
recv(1024) это принимаем пакет размером не больше 1024 байта
Это читать данные из сокета кусками по 1024 байта.
Lam
строковую переменную(вроде так, по учебнику точно так), но нужно отправить это в том виде в каком оно пришло, а не в строковом виде,
Строка это и есть последовательность байт.
Ее можно во что-нибудь преобразовать, если надо. Смотря что ты с ней потом делать будешь.
Lam
эт мне кроме сокета подключать ещё модули?
Опять-же, смотря что ты хочешь с этим делать дальше.



Офлайн

#4 Дек. 20, 2008 18:06:05

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Вопросы новичка.

Во всех учебниках есть пример сервера-клиента, который прекрасно работает, в том числе под виндой



Офлайн

#5 Дек. 20, 2008 18:20:50

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

Вопросы новичка.

Хорошо пишем прогу дальше

print 'klient connect'
s2.setblocking(0)
conn.setblocking(0)
while k < 20:
while 1:
r1 = conn.recv(9999)
if not r1: break
s2.send(r1)
while 1:
r2 = s2.recv(9999)
if not r2: break
conn.send(r2)
k = k + 1
print k
поидее она должна принять/передать 20пакетов, как минимум при условии что сервер и клиент будут меняться ими по очереди, запускаю суммарный скрипт у мя он выполняется но ток вот связи клиент с сервером не получает почему то



Отредактировано (Дек. 20, 2008 20:48:06)

Офлайн

#6 Дек. 20, 2008 19:07:36

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

Вопросы новичка.

А у меня вопрос попроще :-). Если я пропишу в командной строке винды python 1. py, то тоже не работает. Может кто-нибудь “разжевать”, как правильно в винде выполнить скрипт из файла?



Офлайн

#7 Дек. 20, 2008 19:10:17

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

Вопросы новичка.

Ваше, чтоб понятней было, у мя есть клиент аси захожу в настройки вместо ‘login.icq.com’ пишу ‘127.0.0.1’ ставлю нужный порт в моем случае 8768, теперь мне нужен скрипт который соединит клиент с сервером, вот пока у мя такой как я привел выше, и чет никак не рабит



Офлайн

#8 Дек. 20, 2008 19:22:00

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Вопросы новичка.

Lam то есть нужен локальный прокси сервер?
Санчес:
1. Щелкни мышкой по файлу, он и запустится :)
2. В коммандой строке набери просто “1.py” и ентер.
3. Или запускай через IDE, idle например. Открой в нем скрипт, и жми f5!



Офлайн

#9 Дек. 20, 2008 19:46:00

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

Вопросы новичка.

Ну можно и так сказать



Офлайн

#10 Дек. 20, 2008 20:10:11

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

Вопросы новичка.

Усё, во всем разобрался :). Блин, надо больше спать и внимательно читать документацию и учебники :). Спасибо за подсказки.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version