如果我只想接收C/TCP数据,是否需要connect()?

问题描述 投票:0回答:3

如果我只想从客户端接收数据,而不发送数据,我的服务器代码中是否需要有一个 connect() ?

或者具备以下条件就足够了吗?

socket();
bind();
listen();
accept();
c sockets tcp
3个回答
4
投票

描述了服务器与客户端交互的基本原理。正如您所看到的,在进行任何交互之前,客户端必须

connect
连接到服务器。

一旦使用 socket() 调用构建了套接字描述符,您就可以使用名称良好的 connect() 系统调用将该套接字连接到远程服务器。

您提到的顺序也在

server
中。如果您只想从服务器接收数据,只需在客户端中执行
read
并在服务器中执行
write
即可。但
connect
是必要的。

Server-Client


2
投票

您需要为客户端使用

socket
connect

TCP 协议确实以 ACK 的形式向服务器发送数据并从服务器接收返回的数据(即使您没有传输数据)

请阅读 TCP/IP 协议。


0
投票

如果我只想从客户端接收数据,而不发送数据,我的服务器代码中是否需要有一个 connect() ?

服务器代码中永远不需要有connect()。

客户端调用connect()。服务器调用accept()。根据定义。

© www.soinside.com 2019 - 2024. All rights reserved.