如何在用c ++监听后从同一端口发送数据?

时间:2013-12-14 13:54:58

标签: c++ linux sockets tcp

当我执行以下步骤接收消息并发送回复时,它会失败。 我正在使用TCP。我需要程序从它收到的同一个端口发送数据。

bind()
listen()
accept()
recv()
connect()//it fails to connect here using the same socket.<br>
send()

1 个答案:

答案 0 :(得分:3)

您似乎在理解tcp的工作方式时遇到了问题。有一个服务器和一个客户端。服务器等待连接,客户端建立连接。一旦建立连接,服务器和客户端就可以双向通信(即,两者都可以发送和接收消息)。当然,他们的角色可能会改变,但这是它的工作方式。所以,服务器执行:

bind()
listen()
accept()
recv()
send()

它停留在accept(),直到客户端在服务器正在侦听的端口上执行connect()。

由于我的解释非常简短,我建议您阅读有关linux套接字的this教程。