繁体   English   中英

从udp接收符号,为什么?

[英]receiving symbols from udp, why ?

我已经编写了一个侦听python udp代码来接收流,该流的输出应为1到42,但是,输出似乎是42个符号而不是值(如此):

1450472711.51:@ 4 @ @ P @ $ @?@ @ @ @ @“ @ $ @&@(@ * @,@。@ 0 @ 1 @ 2 @ 3 @ 4 @ 5 @ 6 @ 7 @ 8 @ 9 @ :@; @ <@ = @> @?@ @@ @@ A @ A@ B @ B@ C @ C@ D @ D@

这是代码:我嗅探了数据包,它们似乎都是378个数据包,并且这种情况还在继续发生,所以我看不到任何数据包丢失。

import socket,sys, ast , os
from time import ctime
import time
print >> sys.stderr, os.getcwd()
print >> sys.stderr ,  ctime()



sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
ip = '192.168.10.101'
port = 25000
server_address = (ip, port)

sock.bind(server_address)   # bind socket

sock.settimeout(2)          # sock configuration
sock.setblocking(1)
print >> sys.stderr, 'able to bind'
i = 0
client = ''

byte = 378
while True:
    if i == 0:
        print >> sys.stderr, 'connected'
    data,client = sock.recvfrom(byte)
    print >> sys.stderr,time.time() ,":",data , "\n"
    i= i+1

有人能解释为什么吗? 收到数据包时我没有做一些转换吗?

谢谢 !

您正在打印一串二进制数据。 要查看实际传输的二进制(字节)数字,请尝试以下操作:

for c in data:
    print ord(c)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM