• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

ESP8266透传,为什么要先服务器发送数据后才能正常的通信

feiante 2018-06-14 浏览量:2406

我在用esp8266通过透传的方式进行通信,将网络调试助手配置为TCP Server,stm32单片机通过串口连接esp8266,并将esp8266配置为客户端,连接网络调试助手的服务器。

首先连接上以后,必须要服务器端先发送一次数据,然后双方就可以正常收发数据了,服务器发送数据,串口调试助手能看到数据,客户端发送数据,网络调试助手能看到数据。

但是如果服务器一开始不先发一次数据,就算双方连接成功,客户端(esp8266)发送数据,服务器端也不能显示,或者说也许是没有收到数据。这是为什么呢?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 服务器的地址是固定的,可以方便 的进行连接,要连接其他的终端,还要使用域名,成本会高很多
    • 发布于 2018-06-19
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:10
  • TCP本身就要求握手确认连接联通啊。

    • 发布于2018-06-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是TCP协议,这个协议就是要先和服务器握手通信的
    • 发布于2018-06-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个协议规定了服务器必须和8266先连接才能通信
    • 发布于2018-06-14
    • 举报
    • 评论 0
    • 0
    • 0

  • tcp协议,udp协议,我前两天调试这个的时候了解了一下。你也可以去百度一下。
    • 发布于2018-06-15
    • 举报
    • 评论 0
    • 0
    • 0

  • TCP协议需要服务端先发握手信息,透传用udp就行了
    • 发布于2018-06-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 8266支持端对端的啊,我就这样用的呢


    • 发布于2018-06-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 正常情况下,TCP3次握手成功以后,双方都可以互发数据。如果客户的发送数据服务的收不到,应首先判断数据是否到达服务器,可以使用wireshark进行抓包,看一看客户端发送的数据是否到达服务器。如果此时没有到达服务器,有可能是8266有问题。建议换一个模块儿重新再试。
    • 发布于2018-06-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 这是ESP8266的工作模式决定的,这个步骤相当于一次握手
    • 发布于2018-06-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 这属于服务器与客户端之间的握手,是8266开始透传之前的必备工作。

    • 发布于2018-06-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

ESP8266透传,为什么要先服务器发送数据后才能正常的通信