Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Chinese
  4. 用tcpserver 监听http请求,返回请求的时候,发送数据较少为什么接受不了数据??
Qt 6.11 is out! See what's new in the release blog

用tcpserver 监听http请求,返回请求的时候,发送数据较少为什么接受不了数据??

Scheduled Pinned Locked Moved Chinese
4 Posts 3 Posters 3.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    foxgod
    wrote on last edited by
    #1

    我在服务器端用tcpserver监听一个http请求,在客户端用QNetworkAccessManager发送请求,用 QNetworkReply接收请求。服务器端接受到这个http请求后,我给他返回数据,例如这样
    @ QTcpSocket* socket = serverConnect;
    os.setAutoDetectUnicode(true);

            os << "HTTP/1.0 200 Ok\r\n"
                  "Content-Type: text/html; charset=\"utf-8\"\r\n"
                 "\r\n"
                 "<h1>Nothing to see here</h1>\n"<<"i love you";@
    

    当数据流写的内容多的时候,客户端可以接受到,但是如果这样写,就接受不到了,为什么,例如
    @ os.setAutoDetectUnicode(true);

            os << "i love you";@
    

    ,还有一个问题,服务器端如何实现长连接呢??

    1 Reply Last reply
    0
    • B Offline
      B Offline
      billconan
      wrote on last edited by
      #2

      我认为是tcp的纳格算法造成的
      http://zh.wikipedia.org/wiki/納格算法

      1 Reply Last reply
      0
      • F Offline
        F Offline
        foxgod
        wrote on last edited by
        #3

        不是,发送完后,写tcpsocket.close(),就可以接收到了

        1 Reply Last reply
        0
        • T Offline
          T Offline
          Trustkuan
          wrote on last edited by
          #4

          你试试最后添加一个'\n'结束符或者你可以用abort()函数,我前段时间搞过tcp传输,善用setReadbuffersize()这个函数

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved