Уведомления

Группа в Telegram: @pythonsu

#1 Июль 12, 2011 10:26:35

Danial_72
От:
Зарегистрирован: 2011-07-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Странность help

# -*- coding: utf-8 -*-
#!/usr/bin/python
import socket

host = "localhost"
port = 42564
i=0

f = open("data.txt" , "r")
html = f.read()

while 1:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, port))
s.listen(1)
sock, addr = s.accept()
toMe = sock.recv(1024)
sock.send(html)
print i
sock.close()
i = i + 1
raw_input()
>>> 
0
1
2
3
По идее при каждом подключении счетчик увеличиваться должен на 1 .. включаю хром вбиваю адрес .. и тут сразу же выводит с 0 по 3.. Потом работает нормально.
При этом информацию посылает только со второго подключения .. то есть .. включил браузер говорит(ошибка ..хз какая )
Что я делаю не так ??



Отредактировано (Июль 12, 2011 10:34:34)

Офлайн

#2 Июль 12, 2011 15:52:59

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

Странность help

Посмотрите что вам там Хром посылает.
У меня он фавикон просил, потому шло два запроса…

    print '---------RECEIVED----'
print toMe
print '---------END--------'



Отредактировано (Июль 12, 2011 15:53:38)

Офлайн

#3 Июль 12, 2011 16:25:30

Danial_72
От:
Зарегистрирован: 2011-07-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Странность help

спасибо )) .. .. только что заметил что тот же огнелис делает 1 запрос ..
кстати хотел спросить .. можно в 2 потоках открыть по сокету на каждый .. (на разных портах)
на 1 от браузера .. а на 2 от написаного клиента .. на 2 потоке будет еще обработка присланого сообщения и послелующие действия .
Можно это как нибудь попроще реализовать ?



Отредактировано (Июль 12, 2011 16:28:01)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version