Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 2, 2015 21:47:20

krilon
Зарегистрирован: 2015-02-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с приёмом данных с gps трекера

Почитал не мало в этом напровлении нашел вроде номальный вариант , вот собственно код .

while True:
    import socket
    sock = socket.socket(socket.SOCK_DGRAM, socket.SOCK_STREAM)
    sock.bind(('', 7777))
    sock.listen(1)
    conn, addr = sock.accept()
    print 'connected:', addr
    while True:
        data = conn.recv(1024)
        if not data:
            break
        conn.send(data.upper())
        print data
    conn.close()
проблемма в том что он не принимает пакеты с gps трекера .Подскожите что я делаю не так и в каком напровлении копать ?
спасибо исправил

Отредактировано krilon (Фев. 2, 2015 23:17:19)

Офлайн

#2 Фев. 2, 2015 22:43:22

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Помогите с приёмом данных с gps трекера

krilon
табы все выставленнны но здесь их почумуто не видно .
потому что код надо оборачивать в теги CODE в квадратных скобках - перед вами окно набора сообщени я - сверху одна из кнопочек, потратьте минуту, изучите.

Ваш код неверен тем что вы начинаете с создания сокета и указываете ему одновременно и TCP и UDP протоколы. Я не спец в сетях, но как то мне казалось что возможно только одно. Не смотря на то что вы уверенны что прочитали не мало - тем не менее не достаточно. Поэтому вы определитесь как именно работает ваш приемник, что бы для этого протокола написать корректный код.

P.S. и огласите модель трекера



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Фев. 2, 2015 23:22:23

krilon
Зарегистрирован: 2015-02-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с приёмом данных с gps трекера

На счёт протоколов создал клиента отпровлял пакеты сё приходило .

import socket
sock = socket.socket()
sock.connect(('localhost', 7777))
sock.send('hello, world!')
data = sock.recv(1024)
sock.close()
print data
мадель трекера скажу с утра так как он не у меня на данный момент .
Но по сути как я понял , он отпровляет по TCP/UDP протаколам . какраз они у меня находятся в
socket(socket.SOCK_DGRAM, socket.SOCK_STREAM).

Отредактировано krilon (Фев. 2, 2015 23:23:12)

Офлайн

#4 Фев. 3, 2015 09:57:09

krilon
Зарегистрирован: 2015-02-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с приёмом данных с gps трекера

Вот модель трекера : teltonika PSM-360

Офлайн

#5 Фев. 3, 2015 23:29:38

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Помогите с приёмом данных с gps трекера

krilon
Смотрите, берем официальную документацию, смотритм на класс socket:

socket.socket([family[, type]])
Create a new socket using the given address family, socket type and protocol number. The address family should be AF_INET (the default), AF_INET6 or AF_UNIX. The socket type should be SOCK_STREAM (the default), SOCK_DGRAM or perhaps one of the other SOCK_ constants. The protocol number is usually zero and may be omitted in that case.
Первым аргументом мы передаем тип адресного протокола либо это AF_UNIX для создания UNIX сокетов, либо это AF_INET для интернет адресснного пространства (могу ошибаться, возможно это IP сети) - это ваш случай.
Вторым аргументом нужно указать тип сокета - SOCK_STREAM для TCP, SOCK_DGRAM для UDP . Указать их одновременно не получится. Видимо потому что сети устроены так что сокеты не могут быть одновременно двух типов. Поэтому ваш код не правильный, ошибок не происходит потомоу что SOCK_* и AF_* это всего лишь переменные содержащие в себе цифры 1,2 и тд

Почему то Гугл мне не нашел документацию на этот приемник.М.б. вы ее предоставите? Потому что пока что как то все выглядит гаданием на кофейной гуще.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version