如何控制 PYTHON 中 SOCKET 一个字节一个字节的发送,不要攒到缓冲区一块发送,是不是有个清空发送缓冲区的操作

eisldkw 2020-07-11 04:01:10
如何控制 PYTHON 中 SOCKET 一个字节一个字节的发送,不要攒到缓冲区一块发送,是不是有个清空发送缓冲区的操作


...全文
339 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
eisldkw 2020-07-15
  • 打赏
  • 举报
回复
引用 4 楼 nangongxiaobai 的回复:
D

[quote=引用 3 楼 eisldkw 的回复:][quote=引用 2 楼 nangongxiaobai 的回复:]soc = Socket(addr,xxx)

comand = 'abcd'
for x in command:
x = x.encode()
soc.send(x)

socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。
另外,你可以相信描述一下你需要控制的设备。


非常感谢,电表接

引用 2 楼 nangongxiaobai 的回复:
soc = Socket(addr,xxx)

comand = 'abcd'
for x in command:
x = x.encode()
soc.send(x)

socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。
另外,你可以相信描述一下你需要控制的设备。


非常感谢。 中间设备是 DTU , (1)DTU 通过天线 与电信基站可建立SOCKET连接 ,(2)DTU 的 485 接口 可经过 金属线 与电表 建立连接[/quote]

问题解决了吗?[/quote]

非常感谢。但是,虽然是分开发,但是这样也是攒在缓冲区一块发,除非每个字节之间加个1秒的延时,会一个字节一个字节的发。
nangongxiaobai 2020-07-15
  • 打赏
  • 举报
回复
引用 5 楼 eisldkw 的回复:
[quote=引用 4 楼 nangongxiaobai 的回复:]D [quote=引用 3 楼 eisldkw 的回复:][quote=引用 2 楼 nangongxiaobai 的回复:]soc = Socket(addr,xxx) comand = 'abcd' for x in command: x = x.encode() soc.send(x) socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。 另外,你可以相信描述一下你需要控制的设备。
非常感谢,电表接
引用 2 楼 nangongxiaobai 的回复:
soc = Socket(addr,xxx) comand = 'abcd' for x in command: x = x.encode() soc.send(x) socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。 另外,你可以相信描述一下你需要控制的设备。
非常感谢。 中间设备是 DTU , (1)DTU 通过天线 与电信基站可建立SOCKET连接 ,(2)DTU 的 485 接口 可经过 金属线 与电表 建立连接[/quote] 问题解决了吗?[/quote] 非常感谢。但是,虽然是分开发,但是这样也是攒在缓冲区一块发,除非每个字节之间加个1秒的延时,会一个字节一个字节的发。[/quote] 我明白了你的问题,你这个应该是由于回车符的原因,每个字节后加一个“\n“,这样就可以了
nangongxiaobai 2020-07-14
  • 打赏
  • 举报
回复
D
引用 3 楼 eisldkw 的回复:
[quote=引用 2 楼 nangongxiaobai 的回复:]soc = Socket(addr,xxx) comand = 'abcd' for x in command: x = x.encode() soc.send(x) socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。 另外,你可以相信描述一下你需要控制的设备。
非常感谢,电表接
引用 2 楼 nangongxiaobai 的回复:
soc = Socket(addr,xxx) comand = 'abcd' for x in command: x = x.encode() soc.send(x) socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。 另外,你可以相信描述一下你需要控制的设备。
非常感谢。 中间设备是 DTU , (1)DTU 通过天线 与电信基站可建立SOCKET连接 ,(2)DTU 的 485 接口 可经过 金属线 与电表 建立连接[/quote] 问题解决了吗?
eisldkw 2020-07-13
  • 打赏
  • 举报
回复
请问,有没有强制发送缓冲区内容,不等缓冲区内容达到buffsize的指令。
eisldkw 2020-07-13
  • 打赏
  • 举报
回复
引用 2 楼 nangongxiaobai 的回复:
soc = Socket(addr,xxx) comand = 'abcd' for x in command: x = x.encode() soc.send(x) socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。 另外,你可以相信描述一下你需要控制的设备。
非常感谢,电表接
引用 2 楼 nangongxiaobai 的回复:
soc = Socket(addr,xxx) comand = 'abcd' for x in command: x = x.encode() soc.send(x) socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。 另外,你可以相信描述一下你需要控制的设备。
非常感谢。 中间设备是 DTU , (1)DTU 通过天线 与电信基站可建立SOCKET连接 ,(2)DTU 的 485 接口 可经过 金属线 与电表 建立连接
nangongxiaobai 2020-07-13
  • 打赏
  • 举报
回复
soc = Socket(addr,xxx) comand = 'abcd' for x in command: x = x.encode() soc.send(x) socket serial 都有相关的库函数,如clear,fflusth等,你可以好好看下库。 另外,你可以相信描述一下你需要控制的设备。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧