如何为服务器处理标记TCP

How to label TCP for server processing?

本文关键字:TCP 处理 服务器      更新时间:2023-10-16

我在Ubuntu上用c++实现了一个TCP客户端服务器架构,服务器根据接收到的信息类型来处理接收到的数据。我需要一个标题。

我需要这样做手动写一个字符串像"这是头"到服务器在第一?

通常的做法是什么?

客户:

if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0)
       COMP_ERR("ERROR connecting");
int bytes_written = write(sockfd, buffer, bytes_read);
服务器:

while(1)
    {
        if((size_recv =  recv(sock , chunk , 256 , 0) ) <= 0)
        {
            break;
        }
        else
        {
            //use received data
     }
}

这似乎是一个标准问题,但我在网上找不到答案,对不起。谢谢。

TCP只是在发送字节。这取决于客户端和服务器就字节的含义达成一致。

你可以使用一些众所周知的协议,如HTTP或FTP,如果你能找到一个满足你的需要。例如,可以使用HTTP和MIME类型来标识数据。

或者你可以"滚你自己的",每个包包含一个头,告诉接收者如何处理数据。