Pyserial - 发送"你好"在连接上输出TCP套接字

时间:2018-02-02 08:36:15

标签: pyserial

我遇到了远程3G网站上的PHP套接字接收器问题。我使用socat连接到它但是当我重新连接(链接失败后)远程套接字挂起,直到我发送数据为止,这是有问题的,因为有多个主机连接到这个远程套接字。

我想更好地控制tcp套接字连接组件(作为客户端),因此我想使用pyserial。我想做的是:

1)成功连接到远程TCP套接字后,发送" Hello"到远程插座。这需要包括cr / lf,我相信是x0dx0a 2)继续并让pyserial将串口链接到tcp套接字

在链接失败后重新连接时,发送相同的消息,即:" Hello"用cr / lf

Hello消息(带有cr / lf)将数据放入远程套接字缓冲区,它允许它继续,正是我想要的。

我对bash脚本很好但在python中非常亮......

以下是代码的链接:https://github.com/pyserial/pyserial/blob/master/examples/tcp_serial_redirect.py

第153行:165是连接代码...... 第183:196行是serial与tcp的链接

有人可以指出我如何做到这一点....

如果你能提供帮助,谢谢你

彼得

1 个答案:

答案 0 :(得分:0)

如果我对问题的理解正确,则只需添加几行即可:

立即在第152行的while True语句之后,插入以下行:

say_hello = True

然后在第182行的try:语句之后,插入以下内容:

if say_hello:
    client_socket.sendall(b"Hello.\r\n")
    say_hello = False