c - tcp 服务器客户端通信 read() write() 问题。 c语言

标签 c tcp tcpclient

我有问题,我用c写了一个tcp客户端,但问题是客户端向服务器发送命令,服务器发送对该命令的响应,响应是xxx#。但是在客户端中,当我从套接字读取时,我从服务器读取了2个响应例如 xxx#xxx#.知道客户端仅发送响应形式服务器的第一个响应,并且一个响应是删除。这并不总是相同,例如客户端可能只读取 1 个响应 ind 将响应该响应。如何搜索 # in char 数组并提取命令和客户端响应到服务器的所有响应。有什么想法吗?

我有一个想法,从客户端到服务器的一次写入来读取客户端中的响应是个好主意,还是我写入服务器并在一次读取中读取所有响应?

示例:

客户端 write() --------> 服务器

客户端读取()<----------服务器响应

客户端 write() ---------> 服务器

客户端 write() ---------> 服务器

客户端读取() <---------服务器响应

最佳答案

服务器中的接收功能应始终处于事件状态。因此,应该放置在 while(1) 循环中。

当客户端发送消息时,它应该收到服务器的确认。

服务器 -> 随时准备接收。

客户端 -> 即时发送和接收。

关于c - tcp 服务器客户端通信 read() write() 问题。 c语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18376851/

相关文章:

rust - mio 负载较小的简单 TCP 服务器出现“连接被对等重置”错误

c# - Windows 自动 telnet

C# 套接字忽略我的 SendTimeout 值

c - C 中的哪个标准库函数将零字节复制到堆栈?

c++ - 我怎么知道我正在使用什么操作系统?

在 C 中从特定索引动态复制字符串

python - 异步服务器和客户端处理来自控制台的输入

c - 为什么不在我的代码中添加#include<linux/sched.h>,代码无法识别 task_struct 结构

tcp - 了解 TCP URG 标志

Java TCP/IP 服务器 - 通过 Internet 进行客户端通信