如何为服务器处理标记TCP
How to label TCP for server processing?
我在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类型来标识数据。
或者你可以"滚你自己的",每个包包含一个头,告诉接收者如何处理数据。
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 提升 Asio TCP 服务器 处理多个客户端
- AMQP-CPP:TCP 处理程序中的管道损坏错误
- 如何在 TCP 侦听器中处理异步发送和接收
- TCP中的Boost async处理程序
- 处理插座Boost ASIO TCP IP -C 套接字编程
- 处理 tcp/udp 接收的最佳方法
- 使用 Boost ASIO 处理没有套接字的 TCP
- c++tcp多线程客户端/服务器-如何与线程套接字处理程序进行通信
- 加速和 Windows 套接字 - 正确处理 TCP 客户端断开连接方案
- 更改此协议以使用 TCP 流式处理
- boost::asio::tcp::socket 关闭并取消而不调用处理程序
- 调用 boost::asio::tcp::socket 方法后async_read处理程序在服务器中返回错误
- 处理多个客户端的单个TCP/IP服务器(在c++中)
- 如何处理Perl TCP套接字中的消息碎片
- 在处理TCP/IP之前完全接收到它.如何知道发送的全部数据是否已被接收
- 处理MySQL c++连接器上TCP连接丢失的问题
- 如何为服务器处理标记TCP
- 阻塞TCP套接字:" send() "返回和错误处理