sendto python_Python sendto似乎没有发送
我是
Python新手并尝试使用套接字将字节数组作为原始数据包发送.我的IP是192.168.0.116,我发送给它的设备是192.168.0.64.该客户端设备是基于微控制器的单元,其执行我的代码以简单地嗅探以太网分组并检查特定模式.我正在使用UDP数据包并通过在我的PC中使用’Ostinato’来发送原始UDP数据包来尝试客户端固件.我正在使用Wireshark来监控网络数据包流.客户端似乎可以正常使用Ostinato发送的数据包.
但是当我尝试使用Python发送相同的数据包时(使用如下的原始数据包),它似乎没有吐出字节,因为我无法在Wireshark上看到任何内容,也没有客户端获取任何数据.但是sendto()的返回值是正确的.因此,似乎Python将字节数组提供给要发送的缓冲区(由OS?),但在那里停止.
import socket
CLNT_UDP_IP = '192.168.0.64'
CLNT_UDP_PORT = 5005
svr_sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW)
send_data = [0x00, 0x11...]
send_data_arr = bytearray (send_data)
svr_sock.bind (('192.168.0.116',0))
bytes_send = svr_sock.sendto (send_data_arr, (CLNT_UDP_IP, CLNT_UDP_PORT))
svr_sock.close()
为清楚起见,我已经取出了try-except块.
我注意到的另一件事是当套接字关闭时,需要一些时间.如果我注释掉sendto语句,它会立即退出.因此,似乎套接字关闭正在尝试刷新发送缓冲区,而发送缓冲区无法发送数据包.
有任何想法吗?
sendto python_Python sendto似乎没有发送相关推荐
- sendto python_Python sendto似乎不发送
我是Python新手,尝试使用套接字将字节数组作为原始数据包发送.我的IP是192.168.0.116,我要发送这个的设备是192.168.0.64.这个客户端设备是一个基于微控制器的单元,它执行我的 ...
- 为Win7 Win8右键菜单发送到添加常用位置(SendTo)
大家经常会在桌面为常用的应用程序.文件夹或文档创建快捷方式,方便使用.在Win7中,创建方式时只要右键点击应用.文件夹或文档的图标,选择"发送到-桌面快捷方式"就可以了.此外,在& ...
- 【Socket网络编程】12. send()、recv()、sendto() 和 recvfrom() 函数解析
send().recv().sendto()和recvfrom()函数解析 一般情况下,send().recv()在TCP协议下使用,sendto().recvfrom()在UDP协议下使用,也可以在 ...
- send,recv,sendto,recvfrom
send函数 int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是server应用程序都用se ...
- Linux下Socket通信中非阻塞connect、select、recv 和 recvfrom、send和sendto大致讲解,附带非租塞connect代码、MSG_NOSIGNAL
linux中send函数MSG_NOSIGNAL异常消息 在服务器端用ctrl+c 来结束服务器接收进程来模拟服务器宕机的情况,结束服务 socket 进程之后,服务端自然关闭进程,可是 client ...
- socket c语言 AF_TIPC,socket编程 send() recv() sendto() recvfrom()
socket编程 send() recv() sendto() recvfrom() int socket( int af, int type, int protocol); af: 指定一个协议簇( ...
- send/sendto和recv/recvfrom各自的区别
一般情况下: send(),recv()用于TCP,sendto()及recvfrom()用于UDP 但是send(),recv()也可以用于UDP,sendto()及recvfrom() ...
- sendto recvfrom 详解
参考一: sendto和recvfrom一般用于UDP协议中,但是如果在TCP中connect函数调用后也可以用. sendto()和recvfrom()--利用数据报方式进行数据传输 1. 在无连接 ...
- UDP 编程中的sendto() 与recvfrom()解析(转)
sendto() 简述: 向一指定目的地发送数据. include int PASCAL FAR sendto( SOCKET s, const char FAR* buf, int len, int ...
最新文章
- oracle负载均衡方案,Oracle负载均衡配置代码
- tensorflow从入门到放弃-0
- Spring全局异常捕捉实现HandlerExceptionResolver接口,在error-page配置捕捉异常
- SpringBoot中使用thymeleaf时ajax请求不能回显消息
- 日常生活 -- 嵌入式面试
- Cookie操作以及如何在js中调用jsp变量
- Qt实现Areo效果_vortex_新浪博客
- 常用验证码功能实现大全
- java怎么让二维数组不重复_java - 如何创建具有随机产生的,非重复数二维数组? [重复] - SO中文参考 - www.soinside.com...
- Android开发笔记(一百八十三)利用HMS轻松扫描二维码
- 排污口漂浮物监测系统 yolov5
- 学习笔记(3):PS教程-【和东东一起学PS】Photoshop 2020小白到高手(任务驱动式基础+实战教学)-【免费试看】PS软件的必要首选项设置
- Linux 配置iSCSI Initiator
- 计算机病毒的自述,电脑的自述作文500字
- HEVC-环路滤波 之去块效应滤波
- 2018年网易实习生笔试题集合之牛牛的闹钟
- 【游戏策划】之神仙道的计算公式
- 用Python写一个图片标注工具
- CnOpenData中国专利详细地址数据
- day7-列表和字典作业